centos7安装docker及docker常用命令

-------------------------------------------------------修改yum源改成 阿里云-------------------------------------------------------

1、yum install wget -y           下载wget

2、mkdir -p  /etc/yum.repos.d     创建目录

3、下载阿里云yum源配置

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

4、更新缓存

yum clean all

yum makecache

-------------------------------------------------------docker三大核心概念:镜像、容器和仓库-------------------------------------------------------

镜像

镜像是docker运行容器的前提,docter运行容器前需要本地存在对应的镜像。如果镜像不存在本地,docter会尝试先从默认镜像仓库下载(默认使用docter hub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库

容器

容器是镜像的一个运行实例

仓库

集中存放镜像的地方

1、安装前置条件

docker要求Linux内核要3.0以上版本,如果centos6.x 内核是2.x,需要升级linux内核

我虚拟机直接安装的是centos 7 64位 输入uname -r 查看内核
 

安装步骤

1)yum update   升级本地yum包

2) yum install -y yum-utils device-mapper-persistent-data lvm2   安装工具集

3)sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo   安装阿里云docker源

4)sudo yum makecache fast    更新yum缓存

5)yum -y install docker-ce     安装docker 如果有出错 就运行  yum clean  all 然后在运行这条命令

6)service docker start   启动docker服务

7)docker -v  查看docker版本

2、docker 无法下载镜像解决方法

1)创建文件目录

mkdir -p /etc/systemd/system/docker.service.d

2)创建http-proxy.conf并添加内容

vim /etc/systemd/system/docker.service.d/http-proxy.conf

HTTP_PROXY 为自己的代理上网地址
添加的内容:
[Service]
Environment="HTTP_PROXY=http://10.1.82.22:3128"

3)重新读取服务的配置文件:systemctl daemon-reload
4)重启Docker:systemctl restart docker
5)验证是否已加载配置:systemctl show --property=Environment docker

3、常用命令

镜像相关

1)docter pull NAME[:TAG]   使用pull命令从docker hub仓库下载镜像到本地

2)docker tag  oldName newName    为本地镜像添加新的标签

3)docker images    列出本地主机上已有的镜像

4)docker search TERM   默认搜索docker hub官方仓库的镜像

5)docker rmi 镜像id或者镜像名称    //删除镜像

6)docker commit [OPTIONS] CONTAINER[REPOSITORY[:TAG]]  基于已有镜像的容器创建镜像,可以创建比较复杂的镜像。-a:作者信息,-m:提交信息,-p:提交时暂停容器运行

7)docker import  -NAME[:TAG]   基于本地模板导入镜像

8)docker build -t  NAME[:TAG]   dockerfile路径   基于dockerfile创建

9)docker save –o xxx.tar NAME[:TAG]   存出镜像到本地文件

10) docker  load <xxxx.tar   载入镜像

11)docker inspect 镜像id  查看镜像详细信息

  

容器相关

1)docker create  –it  NAME[:TAG]   创建容器

2)docker start  NAME[:TAG]    启动容器

3)docker run –it  NAME[:TAG]   等于先执行docker create命令,再执行docker start,-it交互式,守护态运行,通过run后加-d实现

4)docker stop[-t|--time[=10]]   终止容器

5)docker restart  NAME[:TAG]   启动状态重新启动

6)docker   ps  –a –q   查看处于终止的容器id信

7)docker   ps   查看正在运行的容器

8)docker   ps  –a   查看所有容器

9)docker rm 容器id   删除容器,需要先停止

10)docker logs 容器id  查看容器日志

11)docker port <container-name|container-id> 端口  查看容器映射端口

12)docker inspect 容器id  查看容器信息

13)docker exec -u root -it  containerID /bin/bash   指定用户进入容器操作

14)env 容器内部输入env查看容器内部环境变量

15)docker cp <host_path>container-id :<container_path>  复制本地文件到容器

16)docker cp container-id:<container_path><host_path>  复制容器文件到本地

17)docker network create app_net 创建自定义网络

18)docker network connect app_net container-name连接网络

19)docker run -it -v /dbdata --name dbdata 创建数据卷容器dbdata,并在其中创建数据卷挂载到/dbdata。其他容器挂载使用--volumes-from dbdata,可以多次使

用,从多个容器挂载多个数据卷,还可以从一挂载数据卷的容器来挂载数据卷,且使用--volumes-from 参数所挂载数据卷的容器自身不需要保持运行,要删除一个数据卷

必须在删除最后一个还挂着它的容器时显示使用docker rm -v命令来指定同时删除关联的容器

-------------------------------------------------------------------修改docker的port端口映射-----------------------------------------------------------

1). 查看需要修改的容器,记住container id
docker ps -a
2). 停止容器
docker stop xxx
3). 修改容器的端口映射配置文件
vim /var/lib/docker/containers/{container_id}/hostconfig.json

"PortBindings": {
     "80/tcp": [
             {
             "HostIp": "",
             "HostPort": "80"//宿主机ip
             }
         ]
}

4).重启docker服务
systemctl restart docker
5).启动docker服务

systemctl start docker

docker容器自动启动设置

1)开机启动docker服务

systemctl enable docker.service

2)在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启:

docker run --restart=always

如果已经启动了则可以使用如下命令:

docker update --restart=always <CONTAINER ID>

猜你喜欢

转载自blog.csdn.net/u011477914/article/details/86591452