本文最后更新于 2024-09-12,文章内容可能已经过时。

一、Yum 安装docker【不推荐】

  • /var/lib/docker 路径主要用于存储容器数据,在使用和操作过程中数据量会逐渐增加。因此,在生产环境中,建议为 /var/lib/docker 单独挂载一个硬盘。也可以使用软连接的方式

1.1 安装必要的一些系统工具

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

1.2 添加软件源信息

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3 修改源

sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

1.4 更新并安装Docker-CE

yum makecache fast

1.5 查找Docker-CE的版本

yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages

1.6 安装指定版本的Docker-CE

#yum -y install docker-ce-[VERSION]
yum -y install docker-ce-17.03.0.ce.1-1.el7.centos

1.7 启动Docker

systemctl start docker

1.8 配置镜像加速地址

  • 实测南大 docker 加速效果不错,可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器 "registry-mirrors": ["https://docker.nju.edu.cn/" 2024年6月 加速地址无效,请自行准备
    另外,需要修改 cgroupdriver, 再k8s1.22 之后kubeadm 的kubectl 将使用systemdcgroupdriver

mkdir -p /etc/docker

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.nju.edu.cn/"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

二、二进制安装docker 【安装首选方式】

2.1 二进制包下载

https://download.docker.com/linux/static/stable/x86_64/

https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz

2.2 解压,拷贝至/usr/bin 下

tar -xf docker-19.03.9.tgz
cp docker/* /usr/bin
which docker

2.3 编写docker.service文件

vim /etc/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
  • 备注: 如果想要修改docker默认存储路径,不推荐此方式,建议保留/var/lib/docker ,使用软连接的方式

vim  /etc/systemd/system/docker.service

........
ExecStart=/usr/bin/dockerd --graph=/home/application/docker
........

2.4 添加可执行权限

chmod +x /etc/systemd/system/docker.service

2.5 启动,加载,开机自启动

systemctl daemon-reload 
systemctl start docker
systemctl enable docker

2.6 配置镜像加速器

  • 实测南大 docker 加速效果不错,可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器 "registry-mirrors": ["https://docker.nju.edu.cn/" 2024年6月 加速地址无效,请自行准备
    另外,需要修改 cgroupdriver, 再k8s1.22 之后kubeadm 的kubectl 将使用systemdcgroupdriver

mkdir -p /etc/docker

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.nju.edu.cn/"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
  • 2024年9月,dockerhub 镜像又能正常download,此处不知道啥原因,可能HW 放开了吧; 什么阿里云,腾讯云 镜像加速又可以继续使用了,这里不再阐述怎么添加加速