在生产环境中, 经常会碰到需要多个服务组件容器共同协作的情况, 这需要多个容器之间能够互相访问到对方的服务。
所以Docker允许映射容器内应用的服务端口到本地宿主主机;还能通过互联机制实现多个容器间通过容器名快速访问。
默认无法通过网络来访问容器内的应用跟服务,需要通过-p或-P指定映射端口,-P会随机映射一个49000~49900的端口。
[root@localhost dbdata]# docker run -d -P training/webapp python app.py WARNING: IPv4 forwarding is disabled. Networking will not work. 19c841267937f78cdfe7df8a33f8507d4fa367aad8c10086d48a59df23b49e58
可以看到宿主机的32770端口映射成了容器的5000端口
[root@localhost dbdata]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 19c841267937 training/webapp "python app.py" 4 seconds ago Up 3 seconds 0.0.0.0:32770->5000/tcp clever
原文:https://www.cnblogs.com/tz90/p/12236211.html