项目中问题解决
本篇主要记录一些在开发中遇到的一些问题与解决方案
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