一、安装

1.1 相关链接

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。

1.2 卸载旧版

选择你要删除的旧版本

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检查是否删除成功。

1.3 安装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

指定docker版本安装

!!!指定版本安装时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

1.4 启动并设置开机自启动docker

systemctl start docker
systemctl enable docker

1.5 通过运行 hello-world 验证 docker-ce 是否已正确安装

docker run hello-world

出现该提示则证明docker-ce安装完成。

docker安装mvn命令 docker-ce安装_docker

1.6 将默认的docker hub仓库换成阿里云仓库

简单的说就是阿里云把docker hub(docker仓库)里的镜像文件(精简版的nginx、精简版的centos等等镜像文件)放在阿里云自己的仓库里,这样可以方便国人下载,后面一节会解释仓库镜像容器三者之间的关系。

这里的阿里云与前面提及的阿里云并不是一个东西,前面提及的阿里云,我们仅仅是在阿里云上下载docker-ce安装包(也可以叫镜像文件,但怕混淆,说成安装包好理解),这里的阿里云指的是阿里云的容器镜像仓库(容器镜像仓库里面放着各种各样的镜像,这些镜像跟官方docker hub上的是一模一样的。)

阿里云镜像仓库申请地址:https://cr.console.aliyun.com/cn-shanghai/instances/repositories

每个用户分配到的地址不通,以我为例,我的地址是https://5j2dr5y5.mirror.aliyuncs.com

docker安装mvn命令 docker-ce安装_json_02

 1.6.1 在etc下新建docker文件夹

mkdir -p /etc/docker

1.6.2 在docker文件夹下新建daemon.json文件

vi /etc/docker/daemon.json

1.6.3 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"
}

1.6.4 重启daemon.json文件

systemctl daemon-reload

1.6.5 重新启动docker

systemctl restart docker