Docker容器没网的解决方法

这篇具有很好参考价值的文章主要介绍了Docker容器没网的解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker容器没网解决方法

借鉴我师兄的一种解决方法。用这种方法还是没网,原因后面分析。

After A LOT of time trying to solve this issue I think I finally
found a solution in an ebook I found on the internet.

Here's the steps I took to solve the issue:

$ sudo service docker stop
$ sudo nano /etc/default/docker

Edit the file and uncomment the DOCKER_OPTS option modifying it to somthing like this:
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --iptables=false --ip-forward=false"

$ sudo su
$ echo 1 > /proc/sys/net/ipv4/ip_forward
// Add the IP range you want to have access to the internet
$ iptables -t nat -A POSTROUTING -s 172.17.0.0/16 -j MASQUERADE
$ service docker restart
$ exit

Now hopefully your containers have access to the internet again.

I hope to help someone :)
转载自github:
https://github.com/moby/moby/issues/36151#issuecomment-630548256

5G核心网教程


原因分析:

上面教程中有个下面这个指令

// Add the IP range you want to have access to the internet
$ iptables -t nat -A POSTROUTING -s 172.17.0.0/16 -j MASQUERADE

这个是添加整个容器网段,这还不够。


解决方案:

因为上面这个是整个docker容器的网段
需要给5G核心网分配网段

按照上述教程一直运行命令行,直到运行到添加ip网段,我们先查看容器ip网段再用下面方法添加

// 先启动核心网,查看核心网ip(注意是docker-oai)
$ ifconfig

docker没有网络,docker,容器,运维

//我的是192.168.70.129,掩码是26
//先运行下面这行命令
$ iptables -t nat -A POSTROUTING -s 172.17.0.0/16 -j MASQUERADE
//再运行下面这个,添加核心网网段
$ iptables -t nat -A POSTROUTING -s 192.168.70.129/26 -j MASQUERADE

剩下的命令接着运行

接下来就可以检查是否有网了:先进入容器,然后ping或者apt update一下看看有没有网。文章来源地址https://www.toymoban.com/news/detail-602985.html

$ docker exec -it oai-amf bash

到了这里,关于Docker容器没网的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker容器内Permission denied解决方法

    1. 已经存在的容器 之前使用这个命令进入容器内部,mv和vim都报Permission denied 更改为这个 这样进去就不会报权限不足的情况了 2. 新建的容器 加上privileged=true这个参数 使用该参数,container内的root拥有真正的root权限。 否则,container内的root只是外部的一个普通用户权限。

    2024年02月11日
    浏览(35)
  • 解决:docker中桥接(bridge)模式下容器内网络不通

    #事故现场 在Ubuntu系统中,安装docker,并以bridge网络模式启动容器,网络不通(无法访问外网),但使用host网络模式没有问题。 #解决方法 刚开始怀疑是DNS问题,后来发现是route问题。 其中的一条route是错误的,需要删除: 问题解决!

    2024年02月11日
    浏览(38)
  • docker中mysql容器自动停止原因及解决方法

     第一步:查询已被停止的mysql docker ps -a  第二步:查询日志 dmesg | grep mysql 得出原因:mysql使用的内存过多,导致系统杀死了对应的进程(本服务器内存为1G) 第三步:重启mysql 依据 docker ps -a 能查出容器id 启动命令: docker start 容器id 第四步:mysql启动后设置限制内存 在宿主

    2023年04月08日
    浏览(29)
  • docker容器出现Cannot allocate memory问题解决方法

    执行一下命令查看系统pid_max的值(最大进程数) 总进程数超限,需要临时调大pid_max 查看配置进程数 执行以下命令查看系统内部总进程数,命令执行不成功,需要自己安装(yum -y install psmisc) 定位启动进程较多的程序 最大进程数阙值永久生效需修改配置文件

    2024年02月09日
    浏览(29)
  • Docker 创建mongoDB容器,status为Exited (2)解决方法

    在命令无误的情况下创建出来的status为Exited (2) 查看对应目录下的mongo.conf文件,例如:/root/mongo/mongod.conf 仔细检查是否有误,尤其是字符拼写和大小写问题。 我的就是大小写有误产生的问题,如图: dbpath 应为 dpPath ,为字母驼峰原创。 更正后先删除对应创建失败的容器(dock

    2024年02月17日
    浏览(47)
  • docker 的mysql容器中没有mysqlbinlog

    没有 mysqlbinlog 命令 (tips: MySQL的工具在/usr/bin下) 思路: 从官方版没有阉割的容器中将mysqlbinlog工具复制过来 利用docker的cp,将容器文件经过本机中转到其他容器 (可以省略第一步、第二步,直接下载我复制存储在gitee的mysqlbinlog文件,点击跳转) 成功的显示信息: 验证是否开

    2024年04月10日
    浏览(25)
  • Docker exec进入容器后不显示容器ID,显示bash-4,4#的解决方法

    错误情景 : docker exec -it 6829a4eaef65 bash 命令进入容器, 不是出现 [root@6829a4eaef65 /]# 而是出现了bash-4.4# 产生原因 :命令行显示-bash-4.2# 的原因是在当前用户的root目录缺少了两个文件 解决方法: 1. 执行命令: docker exec -it 6829a4eaef65 bash 进入容器 2. 执行命令: 执行命令,持久化

    2024年02月09日
    浏览(37)
  • 【网络教程】如何解决Docker删除镜像和容器后磁盘空间未释放的问题

    当删除Docker镜像和容器后,磁盘空间并未释放,这可能导致磁盘空间不足。造成此问题的原因包括: Docker镜像和容器的删除策略:默认情况下,Docker不会立即删除镜像和容器,而是将它们保留30天。 联合文件系统(UnionFS)的特性:联合文件系统是Docker镜像的基础,它允许在

    2024年02月09日
    浏览(38)
  • 在安装docker时出现【E: 仓库 “https://download.docker.com/linux/ubuntu **bionic** Release” 没有 Release ...】解决方法

    Ubuntu 版本:18.04 问题:在安装docker执行 sudo apt-get update 命令是报错:E: 仓库 “https://download.docker.com/linux/ubuntu bionic Release” 没有 Release 文件。 N: 无法安全地用该源进行更新,所以默认禁用该源。 N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。 详细问题截图

    2024年02月16日
    浏览(42)
  • 【Docker】Kylin V10 下 MySQL 容器内存占用异常的解决方法

    以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!  公众号原文链接:Kylin V10 下 MySQL 容器内存占用异常的解决方法 背景介绍 笔者在文章《MySQL 源码构建 Docker 镜像(基于 ARM 64 架构)》中曾提到

    2024年02月22日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包