docker杂记

docker build时无法yum安装包,因为无法访问外网,无法ping通外网。

解决办法宿主机执行:

systemctl stop NetworkManager.service
firewall-cmd --permanent --zone=trusted --change-interface=docker0
systemctl start NetworkManager.service

#yum clean all && yum makecache

#删除不必要的报错yum源
systemctl restart docker.service

在Dockerfile中增加调试命令:

COPY ./Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo

#fastestmirror.conf修改成enabled=0

COPY ./fastestmirror.conf   /etc/yum/pluginconf.d/fastestmirror.conf

#yum.conf修改成plugins=0
COPY ./yum.conf /etc/yum.conf

RUN ls /etc/yum.repos.d/

RUN ping -c 3  ping mirrors.aliyun.com
COPY ./hosts /etc/hosts
RUN cat /etc/hosts
RUN cat /etc/resolv.conf

在执行docker build时指定使用主机网络:

docker build --network=host --progress=plain --no-cache -t mynginx:v1.0 .

docker save mynginx:v1.0 -o mynginx_v1.0.tar

另一种方式:build时不用yum,全量下载rpm包

通过yum将依赖的rpm包都下载到指定目录(系统已有的依赖不下载):

yum reinstall mypackagename --downloadonly --downloaddir=./yum-downloaddir/

通过yum将依赖的rpm包都下载到指定目录(下载全部依赖):

#下载
yum -y install yum-util
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值