Docker端口映射及容器互联

从外部访问容器应用

在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。

可以在启动容器的时候使用-P ;这样,Docker会随机映射一个49000~49900的端口到内部容器开放的网络端口;
不同的容器开放的网络端口也不同,比如redis会将随机端口映射到6379,而mysql会映射到3306

小写-p可以指定端口进行映射,并且,在一个指定端口上只能绑定一个容器,支持以下格式

  • IP:端口号:容器端口号
  • IP::容器端口号
  • 宿主机端口号:容器端口号

可以使用docker ps -l查看容器总体映射情况

可以使用docker port 容器名 [容器端口]来查看指定容器(或它的某个端口)的映射情况

映射所有接口地址可以在-p后面加上 5000:5000 将本地的5000端口映射到容器的5000端口. 此时会默认绑定本地所有接口上的所有地址

绑定多个端口的话需要使用多次-p

便捷访问

自定义容器命名

run的参数--name,给容器进行命名
可以使用命令来查看容器名字

$ docker [container] inspect

容器互联

接收容器连接源容器可以使用run--link参数让容器之间安全地交互

  • --link参数的格式是 name:alias ,即名字:别名

如果你进入接收容器中使用查看etc/hosts的文件,你会发现它自动将自己的id映射向自己的ip,然后将源容器的容器名映射向源容器的ip

posted @ 2019-07-10 14:41  XmCui  阅读(206)  评论(0编辑  收藏  举报