Docker 安装
Yum 自带
使用如下命令进行安装
CentOS 7:
Docker CE
使用如下命令进行安装:
1
| yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
|
1 2
| yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
|
1
| yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
关闭 SELinux
修改如下内容
非 Root 用户使用 Docker
使用如下命令进行服务配置
1 2 3 4
| sudo groupadd docker sudo usermod -aG docker <使用Docker的非Root用户> sudo systemctl enable docker --now sudo chmod 666 /var/run/docker.sock
|
配置中国官方源
使用如下命令进行配置
1
| sudo vim /etc/docker/daemon.json
|
填入如下配置项
1 2 3 4 5 6 7 8 9 10 11
| { "registry-mirrors": [ "http://registry.docker-cn.com", "http://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com" ], "insecure-registries": [ "registry.docker-cn.com", "docker.mirrors.ustc.edu.cn" ] }
|
使用中国官方源时(当且仅当拉取官方镜像时)使用
1
| docker pull library/<镜像名>
|
Dockerfile
可以参照官方文档
常用命令
拉取镜像
构建镜像
1
| docker build <Dockerfile所在目录的路径> -t <镜像名>
|
查看镜像列表
运行镜像并在运行结束后清除镜像
1
| docker run -d <镜像ID/镜像名> --rm
|
查看容器列表
以交互式命令行进入容器
1
| docker exec -it <容器ID/容器名> <容器交互式命令>
|
注:常见的容器交互式命令为bash,但alpine的镜像需要用sh。
删除镜像
删除容器
1
| docker rmi -f <镜像ID/镜像名>
|
删除容器名为空的容器
1
| docker rmi -f `docker images | grep '<none>' | awk '{print $3}'`
|
清除所有的容器相关内容
登录 DockerHub
推送 Docker
将 Docker 保存为 tar 包
1
| docker save -o <文件名>.tar <镜像名>
|
将tar包导入为镜像
1
| docker load -i <文件名>.tar
|
查看镜像中的内容:
1
| docker run -it --entrypoint /bin/bash --name <name> <image>
|
配置远程链接
Docker 采用了C/S架构,所以能在客户机上仅仅安装一个 docker-cli 就可以方便的链接服务器使用Docker了。
开启服务端远程链接
修改 daemon 配置,新增如下项目
1 2 3 4 5
| { "hosts": [ "tcp://0.0.0.0:2375" ] }
|
服务端允许docker链接
1 2
| firewall-cmd --permanent --add-service=docker firewall-cmd --reload
|
重启 docker 服务
1
| systemctl restart docker
|
客户端配置
win 10
安装 docker-cli(需要管理员权限和Chocolatey
软件)
1
| choco install docker-cli -y
|
在系统变量中新增如下环境变量即可
1
| DOCKER_HOST=tcp://<remote_ip>:2375
|
检测远程链接是否可用
配置代理
创建代理配置文件:
1 2
| mkdir -p /etc/systemd/system/docker.service.d vim /etc/systemd/system/docker.service.d/proxy.conf
|
1 2 3 4
| [Service] Environment="HTTP_PROXY=http://127.0.0.1:8888/" Environment="HTTPS_PROXY=http://127.0.0.1:8888/" Environment="NO_PROXY=localhost,127.0.0.1,.example.com
|
重启服务
1 2
| systemctl daemon-reload systemctl restart docker
|
常见问题及解决方案
网络错误
在docker
构建时发生registry
链接失败的问题,可以通过如下方式进行解决
查看目前的容器网络列表
删除构建失败容器相关的网络即可
1
| docker network rm <NETWORK ID>
|
注: 可以使用docker-compose。docker-compose down
命令可以更好的管理容器相关内容。