Docker 容器无法联网 apt update 失败 解决

10 篇文章 2 订阅
本文介绍了四种解决Docker网络连接失败和镜像下载错误的方法:重启Docker服务,修改Dockerfile中镜像下载源为阿里云或清华源,调整Docker虚拟网卡的MTU值,以及在容器内修改DNS设置和更新源。这些方法有助于提高Docker的网络稳定性和下载效率。
摘要由CSDN通过智能技术生成

第一种:

重启docker

第二种:

之前使用Docker生成镜像的时候,有一些包因为网络问题出现Connection failed 和 failed to fetch,这种时候我们可以通过修改Dockerfile中的下载源来防止网络连接失败。

具体操作为在Dockerfile FROM ***下面,加上以下代码可以换成自己的阿里源和清华源:

RUN sed -i s:/archive.ubuntu.com:/mirrors.tuna.tsinghua.edu.cn/ubuntu:g /etc/apt/sources.list
RUN cat /etc/apt/sources.list
RUN apt-get clean
RUN apt-get -y update --fix-missing

第三种:

第一步:首先查看docker虚拟网卡,查看mtu值,如果是1500(默认,或者更大),则需要修改为1450或者更小,/etc/docker/daemon.json 。此外,可以在daemon.json中修改镜像的存储路径,以免占用太多的系统内存;修改mtu值便可以联网了;dns根据情况修改,可以不加吧。
root@gan:/etc/docker# ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:7eff:fee3:87ab  prefixlen 64  scopeid 0x20<link>
        ether 02:42:7e:e3:87:ab  txqueuelen 0  (Ethernet)
        RX packets 4518  bytes 281479 (281.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5733  bytes 17386562 (17.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 root@gan# vim /etc/docker/daemon.json
 {
    "data-root": "/home/ec2-user/software/docker-data",
    "storage-driver": "overlay2",
    "mtu": 1450, 
    "dns": ["you_server_dns","8.8.8.8"]
}

第四种替换docker内部的源

备份
mv -f /etc/apt/sources.list /etc/apt/sources.list.bak

执行替换为阿里源
cat > /etc/apt/sources.list<< EOF
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
EOF

出现问题:

Err:1 http://security.debian.org/debian-security bullseye-security InRelease                                                                                                                                                                    
  Connection timed out [IP: 199.232.46.132 80]


docker内部执行解决:

cat > /etc/resolv.conf<< EOF
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 8.8.4.4
EOF

重启容器内的网络:

 service network-manager restart

更新:

apt-get update

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值