Docker IP forward问题

在用Docker build一个基于openjdk:8-jdk-alpine的镜像时,遇到了以下错误:

WARNING: IPv4 forwarding is disabled. Networking will not work.fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.8/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.adfa7ceb.tar.gz: No such file or directoryfetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.8/community: temporary error (try again later)
WARNING: Ignoring APKINDEX.efaa1f73.tar.gz: No such file or directory2 errors; 53 distinct packages available

Dockerfile (部分)如下:

FROM openjdk:8-jdk-alpine
RUN  apk update && apk upgrade && apk add netcat-openbsd
...

刚开始以为是http://dl-cdn.alpinelinux.org/alpine/v3.8/main 链接打不开,结果浏览器里可以正常打开。

搜索了网上的一些说法,都不能解决问题。

后来分析了一下,准备先来测试一下alpine这个容器能不能访问外网:

docker run -it openjdk:8-jdk-alpine ping www.baidu.com

果然不能ping通,错误信息如下:

WARNING: IPv4 forwarding is disabled. Networking will not work.
ping: bad address 'www.baidu.com'

为了排除是DNS问题还是网络问题,接着直接ping著名的南京电信DNS服务器的IP地址:

docker run -it openjdk:8-jdk-alpine ping 114.114.114.114

还是ping不通。

WARNING: IPv4 forwarding is disabled. Networking will not work.
PING 114.114.114.114 (114.114.114.114): 56 data bytes

这时才惊觉一直出现的“WARNING: IPv4 forwarding is disabled. Networking will not work.” 已经告诉我们网络不能正常工作了!真是灯下黑啊。

搜索这个错误信息后,发现了需要设置允许IP forward:

sysctl -w net.ipv4.ip_forward=1

再次ping百度,成功Ping通。

docker run -it openjdk:8-jdk-alpine ping www.baidu.com

运行apk update,成功。

docker run -it openjdk:8-jdk-alpine apk update

再次运行docker build构建镜像,成功!

参考文档:

  • https://github.com/moby/moby/issues/490

Docker IP forward问题相关推荐

  1. i'm trying to [ip forward ] but even this is a no go

    https://github.com/cSploit/android/issues/624 Mitm features will completely drop internet on the tar ...

  2. 如何获得docker ip , (安装 过程, apt update, apt instal net-tools ... )

    docker ip 的查看 使用sudo docker-compose up 出现了报错 WARNING: Found orphan containers (test_rails_crud_db_1, ...

  3. docker ip地址_理解 Docker 网络(番外) -- 《Docker 源码分析》勘误

    前言 本来打算这篇文章是分析 Docker Overlay 网络是如何建立以及如何手动实现 Docker 的跨主机通信的.但是在完成了上一篇文章之后,打算找一些文章或者书籍印证我的文章是否正确.这时看 ...

  4. iptables限制Docker IP和端口访问

    等保整改安全加固时,使用iptabels限制docker端口不生效,限制非docker容器端口可生效.经查阅大量资料,发现Docker容器创建时会自动创建iptables策略,Docker使用的i规则 ...

  5. Linux ip forward转发问题总结

    最近在调试一个虚拟网络,遇到一些转发难题,作个汇总. 1.用tcpdump抓包,确认已经收到报文.但是发不出报文.收不到的情况这里不讨论:能发出报文但是对方收不到可能是路由错了,也可能是接收方的问题, ...

  6. docker容器IP的设置

    Docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定.在实际部署中,我们需要指定容器ip,不允许其自行分配ip,尤其是搭建集群时,固定ip是必须的.我们可以创建自己的bridg ...

  7. kubernetes(五)二进制安装-安装docker服务

    部署docker服务(在master节点上执行) 下载和分发 docker 二进制文件 cd /opt/k8s/work wget https://download.docker.com/linux/ ...

  8. Flannel和Docker网络不通定位问题

    查看路由表的配置 路由表情况 [root@k8s-master ~]# route -n Kernel IP routing table Destination Gateway Genmask Fla ...

  9. 一次Flannel和Docker网络不通定位问题

    一次Flannel和Docker网络不通定位问题  查看路由表的配置 路由表情况 [root@k8s-master ~]# route -n Kernel IP routing table Desti ...

最新文章

  1. java switch char_Java7中Switch为什么只支持byte、short、char、int、String
  2. 缓存-SpringCache-自定义缓存配置
  3. VS2019 WPF制作OTA上位机(一)新建工程
  4. 计算机辅助普通话水平测试评分办法,计算机辅助普通话水平测试评分试行办法...
  5. 小米9/红米Note 7开放“周末加场” 今日两次抢购机会
  6. Python的turtle库还能绘制这些有趣图形?
  7. Kafka的通讯协议
  8. String 截取字符串#中间的文本
  9. curlopt_ssl_verifypeer后https还是验证不过_2020CNAS能力验证小总结
  10. 魔乐科技 oracle 视频,MLDN魔乐科技JAVA+Oracle数据库视频课程
  11. [ 文献翻译 ] 非合作博弈中的固定时间纳什均衡求解
  12. 厦大计算机科学复试线,2020年厦门大学信息学院考研复试分数线
  13. 寒武纪科技 服务器芯片,国内首款人工智能服务器诞生!搭载“寒武纪”芯片,走在世界前列...
  14. 【Java设计模式 规范与重构】 三 大型重构的手段:高内聚,低耦合
  15. 我学习CRC32、CRC16、CRC原理和算法的总结(与WINRAR结果一致)
  16. (java毕业设计)基于ssm校园二手交易网站管理系统源码
  17. 计算机组装 仿真交互,《计算机硬件组装》仿真交互系统设计与实现.doc
  18. 秋月之谋:5.20黄金原油调整不改,主要选择在周尾!
  19. vue 通过接口实现前端登录页验证码功能
  20. P6035CDN打印机 kyocera_京瓷ECOSYS P6035cdn驱动

热门文章

  1. XSS(Cross Site Scripting)攻击简介
  2. ASP.NET的隐藏功能[关闭]
  3. 《Effective Modern C++》笔记
  4. Solidworks设计电路外形导入AltiumDesigner
  5. Windows开启FTP服务
  6. 基于汇编语言的DS18B20温度传感器设计
  7. python爬取电脑本地数据_利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息...
  8. cad.net 利用win32api实现一个命令开关参照面板
  9. 使用Linux挂载NAS硬盘的RAID分区
  10. ​向死而生,浴火重生,创新能让AI芯片新生?