资讯头条Extra&项目DEBUG

本文讲述了在项目开发中遇到的问题,即在虚拟机设置固定IP后无法访问Docker容器。作者通过学习Docker网络概念,发现需要重新配置容器连接网络,并介绍了如何使用--network参数将容器连接到默认桥接网络、用户自定义网络或主机网络。最终,作者通过实例展示了如何在Nacos服务器启动时使用--network=host解决连接问题。
摘要由CSDN通过智能技术生成

项目中问题解决

本篇主要记录一些在开发中遇到的一些问题与解决方案

1.修改虚拟机IP地址为固定IP地址之后,无法访问docker容器

从这篇文章中得到了启发固定虚拟机IP后无法访问docker容器,虽然没有直接凑效,但是让我了解到了个网桥(bridge)网络这个概念
然后参考了这篇文章Docker 网络-默认网桥,由于并没有特别深入的学习Docker,其中的一些配置内容姑且认为比较繁琐,因此突然想到了一个解决方案,就是将你原来开启的容器全部关闭并删除,重新创建并启动容器,但是这次需要加上–network参数用来指定容器连接的网络,在上述引用的第二篇文章中,我们通过查阅其他资料得到了如下结论:

--network=network_name:指定容器连接的网络名称。network_name 可以是预定义的 Docker 网络名称,
也可以是用户自定义的网络名称。

例如,
1.假设你有一个名为 my_network 的用户自定义 Docker 网络,你可以将容器连接到这个网络:
docker run --network=my_network 容器镜像

2.如果你想将容器连接到默认的桥接网络,可以使用 bridge 作为网络名称:
docker run --network=bridge 容器镜像
你也可以将容器连接到主机网络,这样容器将与主机共享网络命名空间:

3.docker run --network=host 容器镜像
通过使用 --network 参数,你可以灵活地配置容器连接到的网络,以满足你的需求。

在第一篇文章中得知更改虚拟机IP为固定IP后,默认桥接网络可能无法直接使用,然而我们有没有搭建自定义Docker网络,所以采用第三种方式,与宿主机共享网络命名空间。
比如在nacos启动命令中,修改为:

docker run  \
-e MODE=standalone \
-e MYSQL_SERVICE_HOST=192.168.163.138 \
-p 8848:8848 \
--name nacos \
--network=host \ # 新增
-d nacos/nacos-server:1.4.1
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黒猫.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值