centos7下安装docker
推荐使用官方安装指导进行安装docker。
一、先安装docker-compose:
安装docker-compose,它依赖于py-pip, python-dev, libffi-dev, openssl-dev, gcc, libc-dev, and make,请确认相关依赖已经安装,否则会出错。
我在安装docker的过程中,出现了一些错误,我主要遇到了以下几个错误,几条命令安装相应的软件包即可解决。
1、运行docker-compose命令时报错:
-bash: docker-compose: command not found
这是没有安装docker-compose引起的。
我们使用pip方式安装docker-compose,安装前检查是否已安装pip,运行命令:
pip -V
没有安装返回报错:
-bash: pip: command not found
没有安装pip的话就运行以下命令安装pip :
yum -y install epel-release
yum -y install python-pip
可以升级pip到最新:
pip install --upgrade pip
2、关于“command 'gcc' failed with exit status 1”的报错,通常由于没有安装python开发环境导致,执行:
yum install python-devel
yum install libevent-devel
pip install gevent
3、提示“ERROR: Cannot uninstall 'requests' ”,执行:
pip install --ignore-installed requests
4、提示:“ERROR: cryptography 2.8 has requirement cffi!=1.11.3,>=1.8, but you'll have cffi 1.6.0 which is incompatible”,执行:
pip install PyCrypto
pip install paramiko
5、如果没有安装openssl,也会报错:
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
此时需要安装opensll:
yum install openssl-devel
5、若有上面的错误,处理完之后,就可以安装Docker-Compose了,运行命令:
pip install docker-compose
检查是是否成功:
docker-compose -version
返回版本信息则安表示已装好。
也有可能python版本过低,会报错,详情参考《将CentOS7中的Python升级为3.7》,升级python版本。
二、安装docker:
1、如果安装过docker,重新安装先卸载之前的docker。
查询机器是否安装过的docker:
yum list installed | grep docker
若安装过,则删除安装过的软件包:
yum -y remove xxxxx
删除镜像/容器等
rm -rf /var/lib/docker
2、把yum包更新到最新,命令:
yum update
3、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper的驱动依赖:
yum install -y yum-utils device-mapper-persistent-data lvm2
4、设置yum源(任选一个即可)
中央仓库:
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
阿里仓库:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、可以查看所有仓库中所有docker版本,并选择特定版本安装:
yum list docker-ce --showduplicates | sort -r
6、安装Docker,使用命令:yum install docker-ce-版本号,我选的是docker-ce-18.03.1.ce,则如下:
yum install docker-ce-18.03.1.ce
7、启动Docker,并加入开机启动,如下
systemctl start docker
systemctl enable docker
OK,到此为止,docker安装完成。