Docker与Jenkins:从基础到配置
1. Docker基础
1.1 Docker网络
在Docker中, EXPOSE 指令用于声明容器要暴露的端口,但这并不意味着端口会自动发布,它只是告知用户应该发布哪些端口。
当尝试在不停止第一个Tomcat容器的情况下运行第二个Tomcat容器时,可能会遇到端口冲突的问题:
$ docker run -d -p 8080:8080 tomcat
0835c95538aeca79e0305b5f19a5f96cb00c5d1c50bed87584cf
ca8ec790f241
docker: Error response from daemon: driver failed program
ming external connectivity on endpoint distracted_heyrovsky
(1b1cee9896ed99b9b804e4c944a3d9544adf72f1ef3f9c9f37b
c985e9c30f452): Bind for 0.0.0.0:8080 failed: port is already
allocated.
为了解决这个问题,可以让Docker自动分配端口,有以下两种方式:
- -p <container_port> :将容器端口发布到未使用的主机端口。
- -p (--publish-all) :将容器暴露的所有端口发布到未使用的主机端口。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



