yum依赖python的问题
centos如果版本过老,如centos 6.5,安装docker会存在依赖性问题,按照docker官网的安装,会要求升级linux-head等等,服务器一般是不能随便重启的,因而只能降低docker升级的版本要求。在centos 6.8之前,docker最高可升级到1.7.1版本。
centos当python升级后,yum的安装会提示Not found yum module,因此我们需要回滚yum命令的python版本。
1 | ## 将#!/usr/bin/python 修改为 #!/usr/bin/python2.6 |
清空yum缓存
1 | $ sudo yum clean all |
更换yum源
一般更换阿里云的yum源,修改/etc/yum.repos.d/CentOS-Base.repo的内容。
1 | # CentOS-Base.repo |
更换docker安装的yum源
1 | $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo |
命令在/etc/yum.repos.d/下生成docker.repo源文件,如果里面的centos是7的源,需更改源地址内容。
1 | [dockerrepo] |
Tips:更换完源地址之后,需要为yum清空cache,并重新生成cache。
生成yum本地缓存
将服务器上的软件包信息在本地缓存,以提高搜索安装软件的速度,也可以不生成cache。
生成的cache文件在/var/cache/yum/x86_64/$releasever/目录下。
1 | $ sudo yum makecache |
卸载旧版本docker后安装新版docker
1 | $ yum list docker-engine.x86_64 --showduplicates | sort -r ##可以查看可安装版本 |
修改docker配置文件
Centos docker配置文件位置:/etc/sysconfig/docker; Ubuntu/MacOS docker配置文件位置:/etc/default/docker
配置文件的内容如下:
1 | DOCKER_OPTS="-H 0.0.0.0:2375 -H unix:///var/run/docker.sock --selinux-enabled" |
配置的复杂一下,可以参考如下的配置:
1 | DOCKER_OPTS="-H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock -s=devicemapper --ip-forward=true [--bridge=none] --iptables=false --label ip=10.0.10.10 --label idc=aliyun --graph=/data1/docker/images" |
重启docker服务
1 | $ service docker restart |