docker容器的配置本来是交给测试来做的,我对此是一无所知的,但是有一次rocketmq的域名配置出了问题,而测试又只是依样画葫芦,碰到变化的情况就抓瞎了,搞了一天都没搞出来,所以我只好花费时间,解决这个问题。不过因此对docker compose有了初步的了解,也算不错。

在之前测试是直接配置的外网的ip,因为连不上rocketmq,所以只好配置成内网的域名,但是他不管是用内部的link还是外部的external_links,怎么配都不成。我上网查阅了一下资料,原来docker容器有一个网络的概念,一个组合用的一个网络,之前用的是一个组合,而这一个docker是新加的。我首先让测试将这个新的docker加在之前的组合里然后整个重启,但是他却说文件找不到了。没办法,继续。

使用docker network ls 找到网络,然后用 docker network inspect [网络名] 来查看网络配置,网络配置果然没有新加入的docker容器。所以要使用external_links,而同时需要配置docker的网络,之前测试就是因为没有配置外部网络而导致配置不生效的。

https://www.juhe.cn/news/index/id/2281

https://blog.csdn.net/Kiloveyousmile/article/details/79830810

通过这篇文章配置了compose,不过换了好几种写法都不正确,然后发现可以通过docker inpect来查看docker网络配置,以此来调整格式,有过空格,冒号等问题,最后终于解决了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐