docker自定义网络,在运行容器时绑定固定IP,解决每次运行容器获得的IP地址不一样的问题

创建docker01网桥

docker network create docker01 --subnet=10.10.10.0/24 -o com.docker.network.bridge.name=docker01
#解释:subnet指定一个网段,-o选项可以解决使用ifconfig命令看不到自己创建的网桥名字的问题

运行容器时指定IP

使用自定义容器,可以不通过–link就能使用容器名进行通信

docker run -itd --net docker01 --ip 10.10.10.51  镜像名
### Docker容器运行后无法通过IP地址访问的解决方案 当遇到Docker容器运行后无法通过指定IP地址访问的情况,通常涉及网络配置、防火墙设置以及服务本身的监听配置等问题。 #### 一、确认容器网络模式与端口映射 确保创建或启动容器指定了正确的端口映射参数。对于大多数Web应用,默认情况下应该将主机上的某个端口号映射到容器内的80或其他默认HTTP(S)端口上。例如: ```bash docker run -d -p 8000:80 my_web_app_image ``` 这会把宿主机的8000端口绑定容器内进程所使用的80端口[^3]。 #### 二、检查并调整Linux系统的IPv4转发功能 如果是在Linux环境下部署,则需开启系统级别的IPv4数据包转发能力,以便允许来自不同子网的数据流能够被正确路由至目标容器。具体操作如下所示: ```bash echo "net.ipv4.ip_forward=1" >> /usr/lib/sysctl.d/00-system.conf systemctl restart network && systemctl restart docker ``` 上述命令实现了永久化保存该设置,并立即生效[^1]。 #### 三、验证Docker守护程序状态和服务重启 为了使新的配置项得到应用,建议执行以下指令来重新加载配置文件并重启Docker服务: ```bash sudo systemctl daemon-reload sudo systemctl restart docker ``` 这样可以确保所有更改都被正确识别和实施[^2]。 #### 四、排查DNS解析问题即使网络连通性良好,也可能因为错误的域名解析而导致请求失败。因此有必要查看`resolv.conf`中的DNS服务器列表是否合理有效。可以通过编辑`daemon.json`文件的方式自定义全局范围内的DNS选项,或者直接在每次启动容器传递相应的环境变量来进行临性的设定。 #### 五、测试连接情况 最后一步是利用工具如curl等尝试发起实际请求,观察返回的状态码及响应间,从而进一步定位可能存在的瓶颈所在。比如下面这条命令用于获取远程站点头部信息的同也检验了整个链路的质量状况: ```bash C:\Users\29735> curl -I http://<Your_IP>:<Port>/admin/ ``` 其中应替换为真实的公网IP地址和对应的开放端口编号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值