容器内的端口等与主机的端口等是分离的,容器中的环境可理解为是虚拟的.
容器中使用的网络环境与主机保持一致:
示例:
docker run -it --network host image:tag
其中:
--network host表示容器中使用的端口 IP等都是主机上的。
容器中端口可以映射到主机端口,且多个不同的主机端口可以映射同一个容器中的端口:
例如:容器中8000端口映射到主机8079端口上,还可以映射到主机的8078端口上.
示例:
docker run -it -p 10.0.0.1:8079:8000 permission_test:v1
其中:
-p表示将容器中的8000端口映射到主机的8079端口上,10.0.0.1表示映射的主机IP
通过端口映射,可以避免端口冲突问题:
实例:文章来源:https://www.toymoban.com/news/detail-602563.html
在container1中启动container_api服务对应是8000,与此同时,还有workflow_api服务对应的端口也是8000,这时可以同时启动这两个服务,不会出现port already used的问题,只需要将端口映射到主机的不同端口上即可。文章来源地址https://www.toymoban.com/news/detail-602563.html
到了这里,关于docker 容器与主机端口 在容器中启动服务 多容器端口冲突问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!