史上最详细的Docker安装手册

概述:

  这个安装手册我已经使用了将近2年的时间,一直在进行完善(可以用于生产级别)。使用了Centos 7系统。

一、Docker简单介绍

  Docker是一个容器,使用的是Linux现有的技术,准确来说是基于Linux内核虚拟化技术发展而来,例如:网络模型之一网桥。底层核心技术是Namespace和cgroups。

  Docker版本有企业版(收费)和社区版,我们一般使用的是社区版。社区版有三个发布版本,下面是对于三个发布版本的描述:

二、Docker的卸载和升级

 注:如需要安装企业版的,请参考:https://docs.docker.com/install/linux/docker-ee/centos/

 2.1 卸载已安装的docker(如未安装,可跳过)

##1. 列出安装过的包
# yum list installed | grep docker
##2. 根据安装过的包进行卸载
# yum -y remove docker-ce-cli.x86_64
# yum -y remove docker-ce.x86_64
# yum -y remove containerd.io

 2.2 更新docker(更新至最新版本)

# yum -y update docker

三、Docker的安装

 3.1 配置docker源(如已安装过docker,则不需要进行此步骤,该步骤和第3步可以任意选择一个执行)

## 如果没有安装wget,可以使用下面的命令进行安装
# yum install -y wget

# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

 3.2 安装 docker 环境

# yum install -y yum-utils device-mapper-persistent-data lvm2

 3.3 设置从stable仓库获取docker

# yum-config-manager --add-repo  https://download.docker.com/linux/centos/docker-ce.repo

 3.4 安装docker(注:不建议使用这一条命令,建议使用下一条命令,因为这会获取最新版本的docker

# curl -fsSL https://get.docker.com/ | sh

 3.5 安装docker

# yum install -y --allowerasing docker-ce docker-ce-cli containerd.io

## 说明:
##    获取哪些版本的docker可以使用
##    yum list docker-ce --showduplicates | sort -r
##    获取指定版本的docker
##    yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
##    例如:yum install docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io -y

## 注意:
## 2020-10-25 最近发现可能需要增加参数 --allowerasing (也就是说需要执行下面的命令才能安装)
## yum install -y --allowerasing docker-ce docker-ce-cli containerd.io

 3.6 启动Docker和设为开机启动配置镜像加速

# systemctl start docker && systemctl enable docker

 3.7 配置镜像加速

 默认docker从DockerHUB上拉取镜像,由于国内网络原因下载镜像速度会变慢,所以可以配置国内镜像加速地址https://registry.docker-cn.com,当有多个镜像加速地址时候可在列表中以逗号分割。

 执行以下命令:

# mkdir -p /etc/docker
## 配置阿里云加速器(这里使用的是我自己的,也可以自行在阿里云申请)
# tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://usydjf4t.mirror.aliyuncs.com", "https://registry.docker-cn.com"]
}
EOF

## 重新启动守护进程
# systemctl daemon-reload 
## 重启docker
# systemctl restart docker
## 说明:
## 私有仓储如不是https,需要在 /etc/docker/daemon.json 文件 增加以下配置(192.168.1.100 为私有仓储服务器IP)
{ "insecure-registries":["192.168.1.100:5000"] }

## 最终效果如下:
{
  "registry-mirrors": ["https://usydjf4t.mirror.aliyuncs.com", "https://registry.docker-cn.com" ]
  , "insecure-registries":["192.168.1.100:5000"]
}

 3.8 测试功能

## 查看docker版本
# docker version

## 下载hello-world镜像
# docker run hello-world

  查看docker状态

# service docker status

 

附录

 参考资料:

 1. 官网安装文档
  https://docs.docker.com/install/linux/docker-ce/centos/
  https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/

 2. Virtualbox Centos 7 安装
 https://www.ostechnix.com/install-docker-centos/

 3. 配置阿里云加速器

 https://blog.csdn.net/xlemonok/article/details/71403534 

 

------------------ 2020-07-29 修改内容 -------------------

增加私有仓储配置信息: "insecure-registries":["192.168.1.100:5000"]

------------------ 2020-10-25 修改内容 -------------------

执行以下命令进行安装:(yum命令增加了allowerasing参数)

yum install -y --allowerasing docker-ce docker-ce-cli containerd.io

说明:

  --allowerasing:允许擦除已安装的软件包以解决依赖关系。 此选项可以用作yum swap XY命令的替代方法,在该命令中,未明确定义要删除的软件包。

 

posted @ 2020-04-04 20:26  暗香残留  阅读(3251)  评论(0编辑  收藏  举报