Skip to content
本页大纲

Centos7 中安装 Docker 和 Docker Compose

前言

本文主要针对免费的社区版(Community Edition,缩写为 CE),而企业版(Enterprise Edition,缩写为 EE)包含了一些收费服务,对于个人开发者来说,社区版足矣!

英语水平过关的话,可直接阅读官方安装文档:

环境

  • Centos 7.8
  • Python 3.6.8 或 2.7.5
  • Docker 20.10.1
  • Docker-Compose 1.27.4

注意:本文采用的是 Python 3,如果你的系统或应用依赖 Python2,请注意文章中关于 Python 2 和 3 的安装区别!

新系统升级 yum

1、安装 epel 源

bash
sudo yum install epel-release -y

2、升级 yum 包和内核

bash
sudo yum update -y

安装 Python 3 和 Pip 3

1、安装

bash
sudo yum install python3 pip3 -y

#centos7 默认使用的是Python 2.x,执行 python -V 可查看版本

2、验证

bash
python3 -V
# Python 3.6.8

pip3 -V
# pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

ll /usr/bin/python*
# 查看所有 Python 信息

3、将 Python 2 指向 3

bash
cd /usr/bin
ln -fs python3 python

安装 Docker CE

1、安装必要依赖包

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

2、配置 docker-ce 仓库

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

3、安装 docker-ce

bash
sudo yum install docker-ce -y

4、如果你非 root 用户,执行 whoami 获取当前用户名并添加到 docker 组

bash
sudo usermod -aG docker your-user

5、验证

bash
docker -v
docker version

# Docker version 20.10.1, build 831ebea

6、启动 Docker

bash
sudo systemctl start docker

7、开机自启动

bash
sudo systemctl enable docker

安装 Docker Compose(Python 3.x 安装方式)

1、用 pip 3安装

bash
sudo pip3 install docker-compose

# 出于安全考虑,也可使用 pip3 install --user docker-compose 为当前用户安装

2、验证

bash
docker-compose -v
docker-compose version

# docker-compose version 1.27.4, build unknown

3、创建软链接

bash
sudo ln -fs /usr/bin/docker-compose /usr/local/bin/docker-compose

# 避免一些应用的安装脚本无法读取 docker-compose 命令

安装 Docker Compose(Python 2.x 安装方式)

1、安装 python-pip

bash
sudo yum install python-pip -y

2、升级 python 包

bash
sudo yum upgrade python*

3、安装 Docker Compose

bash
sudo pip install docker-compose

注意:如果提示以下错误,执行 sudo pip install --upgrade pip 升级一下 pip,再重新执行以上命令。 Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-u5rcFe/bcrypt/ You are using pip version 8.1.2, however version 20.3.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command.

4、验证

bash
docker-compose version

# docker-compose version 1.26.2, build unknown
# 无需理会提示: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team

注意:如果执行 docker-compose 命令提示 SyntaxError: invalid syntax 的错误,卸载 pyrsistent 并重新安装 0.16.0 版本:

bash
pip uninstall pyrsistent
pip install pyrsistent0.16.0

其它常用命令

bash
# 启动 Docker
sudo systemctl start docker  sudo service docker start

# 关闭 Docker
sudo systemctl stop docker  sudo service docker stop

# 重启 Docker
sudo systemctl restart docker  sudo service docker restart

# 更新 Docker CE
sudo yum update docker-ce

# 卸载 Docker CE
sudo yum remove docker-ce

# 主机上的镜像、容器、卷或者自定义配置文件是不会自动删除的,需要使用以下命令手动删除:
sudo rm -rf /var/lib/docker

# 卸载 Docker Compose,二选一
sudo pip3 uninstall docker-compose
sudo pip uninstall docker-compose

# 卸载老版本 Docker
sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine