准备工作
# 卸载旧版本docker
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 为了方便添加yum源,以及支持devicemapper存储类型,安装
yum update
yum install -y yum-utils device-mapper-persistent-data 1vm2
# 添加docker稳定版本的yum源
# 阿里云源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# docker源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 快速更新缓存
yum makecache fast
安装docker
# 安装docker
yum install -y docker-ce
# 启动docker
systemctl start docker
# 设置开机自启动
systemctl enable docker
# 查看docker版本详情
docker version
错误
Package docker-ce-18.06.1.ce-3.el7.x86_64 is already installed.
Error:
Problem: package docker-ce-3:19.03.11-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
- cannot install the best candidate for the job
- package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
- package containerd.io-1.2.13-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.13-3.2.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.el7.x86_64 is excluded
- package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
解决办法
原因:说的是containerd.io >= 1.2.2-3 ,意思就是 containerd.io 的版本必须大于等于 1.2.2-3
wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install -y containerd.io-1.2.6-3.3.el7.x86_64.rpm
卸载docker
# 卸载Docker Engine,CLI和Containerd软件包
yum remove docker-ce docker-ce-cli containerd.io
# 主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷
rm -rf /var/lib/docker
docker基础命令
- 查看所有容器|根据关键字查看容器
docker images
docker images | grep name
- 强制删除本地一个或多个镜像
docker rmi -f images
docker rmi -f images1 images2
- 构建镜像
docker build -f Dockerfile -t 镜像名:版本号 .
- 启动镜像
# 启动镜像
docker run --name 指定启动的容器名-p 33291:8088 preloading:v1.0
# -itd后台启动镜像 主机端口:容器端口 要启动的镜像版本
docker run -itd --name 指定启动的容器名-p 33291:8088 preloading:v1.0