一、简介
在实践中, 经常会碰到 需要多个服务组件容器共同协作的情况, 这往往需要多个容器之间能够互相访问到对方的服务。 Docker 除了通过网络访间外, 还提供了两个很方便的功能来满足服务访问的基本需求:
- 端口映射:允许映射容器内应用的服务端口到本地宿主主机;
- 容器互联:互联机制实现多个容器间 通过容器名来快速访问;
二、端口映射
在启动容器的时候,我们可以通过指定选项来让主机的端口和容器应用的端口进行映射,这样就可以来访问主机的端口来映射访问docker容器中的应用。
我们可以通过两个选项来进行映射:
-P:随机主机端口
-p:指定宿主机端口
(一)所有地址随机端口
我们可以在启动容器的时候通过-P选项,来让主机随机生成端口来映射容器内应用暴露的端口
如:
docker run -d -P tomcat
效果如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
388486496d26 tomcat "catalina.sh run" 5 seconds ago Up 4 seconds 0.0.0.0:32858->8080/tcp