工作笔记 · 2023年6月13日 0

docker 容器启动jar后不能用容器名访问的问题

已解决此问题

容器名称不可带下划线,因为jar里面的 tomcat 不认可

错误的现象是

curl http://mmm_jar:30004 返回 400,而 curl http://localhost:30004 返回正常 ,包括 ip 也是正常

前提

docker run -d –name mmm_jar –network prd-network mmm_jar:v1.0

启动了两个容器 jar是后端,假设另外一个是 war

docker run -d –name mmm_war -p xxxx:80 –network prd-network mmm_war:v1.0

本意是想 war 可以通过内网访问,不需要将 jar暴露端口出来,同一个network 不用解释

所以修改方案是

mmm_jar 改为 —mmmjar ,不带下划线即可

上面报错信息只出现一次,而且 是在 第一次容器启动,再次 curl 就只报 400

所以刚开始看的 400 就不知道问题在哪里。。