docker官方文档:https://docs.docker.com/engine/install/
阿里云docker-ce镜像:https://developer.aliyun.com/mirror/
阿里云镜像仓库申请地址:https://cr.console.aliyun.com/cn-shanghai/instances/repositories
此处以Centos系统为例,以docker-ce为例,docker-ce为社区版,学习已经完全够用。(值得一提的是如果之前执行了yum install docker,此命令默认安装docker-common版本,需要提前卸载。)如果是root用户,不需要sudo。
选择你要删除的旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
systemctl stop docker
yum list installed |grep docker 查看安装包(通常有4个)
rpm -qa |grep docker 查看rpm源文件(通常有4个)
删除上述两者的全部文件(8个)
yum -y remove docker docker-ce.x86_64
......以此类推,8个全部删除
cd /var/lib/docker/ 目录,有buildkit、image、containers等等文件夹,使用rm -rf *全部删除。
docker -v检查是否删除成功。
yum-utils
包(提供yum-config-manager
实用程序)并设置稳定存储库此处不建议直接用docker官网下载,建议用阿里云的镜像。第二第三段代码本质是一样的,第二个用docker官网下载,第三个用阿里云下载。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
########################不要用这个,这个下载很慢#######################
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
containerd.io - daemon与操作系统API(在这种情况下,LXC - Linux容器)的接口,本质上从操作系统解耦Docker,也为非Docker容器管理器提供容器服务。
docker -ce - Docker守护进程,这是完成所有管理工作的部分,在Linux上需要另外两个。
docker -ce- cli - 用来控制守护进程的CLI工具,如果你想控制远程的Docker守护进程,你可以单独安装它们。
sudo yum install docker-ce docker-ce-cli containerd.io
!!!指定版本安装时repo源对docker-ce-cli的版本支持,存在同版本支持docker-ce,docker-ce-cli却不支持的情况,例如docker-ce有18.06.03版本但是docker-ce-cli却没有这个版本。用yum list docker-ce --showduplicates|sort -r查看。注意此处不要-y,注意提示版本对不对再确认。
yum install docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io
systemctl start docker
systemctl enable docker
docker run hello-world
出现该提示则证明docker-ce安装完成。
简单的说就是阿里云把docker hub(docker仓库)里的镜像文件(精简版的nginx、精简版的centos等等镜像文件)放在阿里云自己的仓库里,这样可以方便国人下载,后面一节会解释仓库镜像容器三者之间的关系。
这里的阿里云与前面提及的阿里云并不是一个东西,前面提及的阿里云,我们仅仅是在阿里云上下载docker-ce安装包(也可以叫镜像文件,但怕混淆,说成安装包好理解),这里的阿里云指的是阿里云的容器镜像仓库(容器镜像仓库里面放着各种各样的镜像,这些镜像跟官方docker hub上的是一模一样的。)
阿里云镜像仓库申请地址:https://cr.console.aliyun.com/cn-shanghai/instances/repositories
每个用户分配到的地址不通,以我为例,我的地址是https://5j2dr5y5.mirror.aliyuncs.com。
mkdir -p /etc/docker
vi /etc/docker/daemon.json
此处涉及vim的基础命令,这里不在赘述,需要请百度“vim基础命令”。
{
"registry-mirrors": ["https://5j2dr5y5.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=cgroupfs"],
"live-restore": true,
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"},
"storage-driver": "overlay2"
}
systemctl daemon-reload
systemctl restart docker