1、服务器已安装或升级Docker,先卸载
查看已安装的版本
[root@CNHK-BIGDATA-WEB001 ~]# yum list installed|grep docker
containerd.io.x86_64 1.4.4-3.1.el7 @docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el7 @docker-ce-stable
docker-ce-cli.x86_64 1:20.10.5-3.el7 @docker-ce-stable
docker-ce-rootless-extras.x86_64 20.10.5-3.el7 @docker-ce-stable
卸载
yum -y remove containerd.io.x86_64
yum -y remove docker-ce.x86_64
yum -y remove docker-ce-cli.x86_64
yum -y remove docker-ce-rootless-extras.x86_64
2、更新yum和安装依赖包
yum update
yum install -y yum-utils device-mapper-persistent-data lvm2
#新开的服务器也把基本工具顺带一起安装了
yum install -y tar lrzsz unzip zip wget
3、添加docker稳定版本的yum软件源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
其本质是修改了docker-ce.repo文件,文件路径在/etc/yum.repos.d/docker-ce.repo
4、安装docker
yum install -y docker-ce
安装结束后,配置第三方镜像加速器,修改 Docker 的默认存储路径
sudo mkdir -p /etc/docker
sudo mkdir -p /data/app/docker
vi /etc/docker/daemon.json
输入以下配置
{
"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"],
"data-root": "/data/app/docker"
}
registry-mirrors
是阿里云镜像加速器,请登录容器镜像服务控制器,在左侧导航栏选择镜像工具->镜像加速器,在镜像加速器页面的操作指引中查看。没有阿里云,就配置国内站点 https://hub.daocloud.io
data-root
配置docker数据目录,默认是在/var/lib/docker,虚拟服务器需要改目录到挂载盘目录下
7、启动命令
systemctl start docker
systemctl enable docker
systemctl status docker
docker启动后,更改了配置,就要重启docker,命令如下
systemctl daemon-reload
systemctl restart docker
8、安装docker compose
使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run等命令操作容器。然而微服务应用包含多个微服务,每个微服务部署多个实例,如果每个微服务都要手动启停,那么维护量很大,使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具
sudo curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose从github下载比较慢,如果多台服务器需要安装时,就下载到本地,再上传服务器对应目录 /usr/local/bin
9、安装Bash命令自动补全包
很多命令都会提供一个bash-complete的脚本,在执行该命令时,敲tab可以自动补全参数,会极大提高生产效率, docker亦如此。
yum install -y bash-completion
sh /usr/share/bash-completion/bash_completion
10、docker 常用命令
docker基本信息
[root@CNHK-BIGDATA-WEB001 ~]# docker info
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)
Server:
Containers: 4
Running: 4
Paused: 0
Stopped: 0
Images: 12
Server Version: 20.10.5
...
镜像操作常用命令
#查看镜像列表
docker images
#根据镜像名称获取镜像ID
docker images -q 镜像名称
#构建镜像
docker build -t 镜像名称 .
#删除镜像
docker rmi 镜像ID
#启动镜像
docker run -d -p 8104:8104 镜像名称
容器操作常用命令
查看运行的容器:
docker ps
查看所有容器
docker ps -a
#根据镜像名称获取容器ID
docker ps -aq --filter ancestor=镜像名称
进入容器:
docker exec -it 容器ID bash
#查看日志
docker logs --tail="500" 容器ID
#停止容器
docker stop 容器ID
#删除容器
docker rm 容器ID
#获取容器元数据
docker inspect 容器ID
以上命令是应用容器化发布经常用到的,大家先自行在虚拟机上模拟下,下一篇将讲解应用docker化发布