环境
VM15 + CentOS 7.6
公司内网(不能直接访问外网,需要通过代理服务器)
主机(192.168.10.13)
安装(使用root)
1.查看官网的文档
https://docs.docker.com/install/linux/docker-ce/centos/
2.卸载旧版本的docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
表示原来就没有安装docker
image.png
3.安装依赖包
安装所需的软件包
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
获取docker的源
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
image.png
公司使用代理服务器访问外网的,实在是蛋疼。
正常使用yum安装的时候,是可以下载需要的依赖包的。
在/etc/profile 中配置了http_proxy
export http_proxy="http://130.30.3.250:8088"
(对主机配置代理)还是不好使
分析发现这个url是https的,因此猜想配置https的代理应该可以
export http_proxy="http://130.30.3.250:8088"
export https_proxy="http://130.30.3.250:8088"
通过wget 配置代理
vi /etc/wgetrc
增加一行
http_proxy = http://130.30.3.250:8088
https_proxy = http://130.30.3.250:8088
cd /etc/yum.repos.d
wget https://download.docker.com/linux/centos/docker-ce.repo
4.安装
yum install -y docker-ce docker-ce-cli containerd.io
出现了报错信息
image.png
经过近一个小时的分析,才找到解决办法。
先说明一下本人主机的情况下:
由于公司访问外网走的是代理服务器的方式
本人先在本地配置了 本地的yum仓库(192.168.10.13),采用http的方式。
在当前安装docker的主机(192.168.10.12)配置了http和https的代理 (/etc/profile)
export http_proxy="http://130.30.3.250:8088"
export https_proxy="http://130.30.3.250:8088"
开始的时候yum的repo 有两个docker-ce.repo(刚刚下载的)
docker-ce.repo(之前配置的)内容如下
[http-repos]
name=http-repos
baseurl=http://192.168.10.13/CentOS7
gpgcheck=0
enabled=1
当执行yum makecache fast的时候会报错
image.png
原因是访问本地yum仓库的时候 我们配置的是http://192.168.10.13/CentOS7
因此会优先通过代理(export http_proxy="http://130.30.3.250:8088" ) 访问 该仓库,并最终导致报错。
可以使用unset http_proxy使export http_proxy="http://130.30.3.250:8088" 暂时失效。
查看了仓库主机的
[root@localhost Packages]# yum list container-selinux
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* epel: epel.scopesky.iq
* http-local:
已安装的软件包
container-selinux.noarch 2:2.74-1.el7
因此需要下载更高版本的,一通百度之后
http://rpm.pbone.net/index.php3/stat/4/idpl/36266349/dir/scientific_linux_7/com/container-selinux-2.9-4.el7.noarch.rpm.html
下载到本地,然后上传到仓库主机(192.168.10.13)
/var/www/html/CentOS7/Packages(从iso中挂载的)
执行如下命令
createrepo /var/www/html/CentOS7/
生成新的yum依赖关系
回到docker主机(192.168.10.12)
再次执行
yum install -y docker-ce docker-ce-cli containerd.io
本次安装成功
总结
在安装docker的过程中,正常应该不会遇到这么多的问题,以上的问题主要的因素在于 vm所在的宿主机不能直接访问外网。因此 在使用代理服务器接入网络的时候,可能会出现很多乱七八糟的问题。
网友评论