CentOS 7 安装 Docker

2022-5-6 大约 1 分钟

# CentOS 7 安装 Docker

# 安装 Docker

如果你安装了老版本的 docker,先卸载

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
1
2
3
4
5
6
7
8

安装 docker 及 docker-compose

sudo yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
 
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
1
2
3
4
5
6

安装好的 docker 版本如下

Docker version 20.10.14, build a224086
1

启动 docker并设置开机启动

systemctl start docker
systemctl enable docker

1
2
3

设置docker-compose符号链接

ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
1

设置镜像加速器(可选)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

1
2
3
4
5
6
7
8
9

更多加速器设置可以参考这篇文章 (opens new window)

使用镜像加速器执行 docker pull 时,有时会出现如下错误。去掉镜像加速后命令可以正常执行。

error pulling image configuration: received unexpected HTTP status: 500 Internal Server Error
1

# 修改docker默认的存储位置

查看 docker 存储位置

# sudo docker info | grep "Docker Root Dir"
Docker Root Dir: /var/lib/docker
1
2

停止 docker 服务

systemctl stop docker
1

复制目录内容,/data/lib/docker为修改后的 docker 存储位置

rsync -avzP /var/lib/docker/ /data/lib/docker
1

备份原目录

mv -u /var/lib/docker /var/lib/docker.bak
1

新存储位置符号链接到源路径

ln -s /data/lib/docker /var/lib/docker

1
2

重启 docker 服务

systemctl start docker
1

systemctl status docker检查服务正常后,删除原目录备份

rm -rf /var/lib/docker.bak
1

# Docker 常用命令

更多Docker 使用方法,可参考 Docker 常用命令