centos7下如何实现docker中的容器系统(ubuntu)apt-get update成功更新

今天在实操docker下的ubuntu容器时,发现在里面没有vim、ifconfig等常用命令。第一个想法就是使用apt-get update更新系统。好家伙,结果发现不是那么回事!!!也对啊,我现在是在容器里,要实现容器里的系统更新,那一定要实现容器和宿主机之间的通信啊,毕竟只有宿主机可以连接外部网络。

好吧,开始想办法。。。。。。

首先使用命令docker inspect 容器ID,查看了容器的相关信息,里面内容很多,我们只需要关注红色圈部分,如下图:
在这里插入图片描述
可以看到该容器的IP地址为172.17.0.2,网关为172.17.0.1(其实这个地址就是docker的地址)。而我的宿主机的IP地址如下:
在这里插入图片描述
宿主机IP地址为192.168.1.7,在上面我们还可以看到一个docker0的连接地址为172.17.0.1,也就是我们上面提到的容器的网关地址。很显然,容器和宿主机不再一个网段,无法实现通信的,问题找到了,那么我们只需要添加一条静态路由在宿主机里即可,方法如下:
vim /etc/sysconfig/network-scripts/route-******
172.17.0.0/16 via 192.168.1.7 dev ******
systemctl restart docker#重启docker服务
注意:CentOS7永久静态路由需要写到 /etc/sysconfig/network-scripts/route-****** 文件中,故在/etc/sysconfig/network-scripts/下,新建文件名为route-*****的文件,(****代表网卡名)。

再次进入ubuntu容器内,尝试apt-get update成功:
在这里插入图片描述
尝试安装VIM编辑器大功告成!!!
在这里插入图片描述

发布了9 篇原创文章 · 获赞 1 · 访问量 2440

猜你喜欢

转载自blog.csdn.net/weixin_41915416/article/details/104073669
今日推荐