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 源
sudo yum install epel-release -y
2、升级 yum 包和内核
sudo yum update -y
安装 Python 3 和 Pip 3
1、安装
sudo yum install python3 pip3 -y
#centos7 默认使用的是Python 2.x,执行 python -V 可查看版本
2、验证
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
cd /usr/bin
ln -fs python3 python
安装 Docker CE
1、安装必要依赖包
sudo yum install yum-utils device-mapper-persistent-data lvm2 -y
2、配置 docker-ce 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3、安装 docker-ce
sudo yum install docker-ce -y
4、如果你非 root 用户,执行 whoami
获取当前用户名并添加到 docker 组
sudo usermod -aG docker your-user
5、验证
docker -v
docker version
# Docker version 20.10.1, build 831ebea
6、启动 Docker
sudo systemctl start docker
7、开机自启动
sudo systemctl enable docker
安装 Docker Compose(Python 3.x 安装方式)
1、用 pip 3安装
sudo pip3 install docker-compose
# 出于安全考虑,也可使用 pip3 install --user docker-compose 为当前用户安装
2、验证
docker-compose -v
docker-compose version
# docker-compose version 1.27.4, build unknown
3、创建软链接
sudo ln -fs /usr/bin/docker-compose /usr/local/bin/docker-compose
# 避免一些应用的安装脚本无法读取 docker-compose 命令
安装 Docker Compose(Python 2.x 安装方式)
1、安装 python-pip
sudo yum install python-pip -y
2、升级 python 包
sudo yum upgrade python*
3、安装 Docker Compose
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、验证
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 版本:
pip uninstall pyrsistent
pip install pyrsistent0.16.0
其它常用命令
# 启动 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