Docker端口映射和容器关联

在实践中,经常会碰到需要多个服务组件容器互相访问的情况,Docker提供了两个很方便的功能来满足服务访问的基本需求:

  • 映射容器内应用的服务端口到本地宿主主机;
  • 互联机制实现多个容器间通过容器名来快速访问。

端口映射实现访问容器

  1. 从外表访问容器应用
    可以通过-P-p参数来指定端口映射。当使用-P时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口:
docker run -d -P training/webapp python app.py

-p可以知道要映射的端口,并且,在一个指定端口上只可以绑定一个容器。
支持的格式有IP:HostPort:ContainerPort | IP::ContainerPort | HostPort:ContainerPort

  1. 映射所有接口地址
    下面的命令将宿主机的5000端口映射到容器的5000端口:
docker run -d -p 5000:5000 training/webapp python app.py

多次使用-p可以绑定多个端口:

docker run -d -p 5000:5000 -p 3000:80 training/webapp python app.py
  1. 查看映射端口配置
    使用docker port命令来查看当前映射的端口配置,也可以看到绑定的地址:
docker port mostalgic_morse 5000

互联机制实现便捷访问

容器互联会在源和接受容器之间创建连接关系,接受容器可以通过容器名快速访问到源容器,而不用指定具体的IP地址。

  1. 自定义容器命名

你可能感兴趣的:(Docker端口映射和容器关联)