Docker入门(二):端口映射与容器互联

1.端口映射#

使用docker run时,可以指定-P(大写)与-p(小写)参数映射端口。

docker run -P#

-P(大写)会随机映射一个端口到容器的内部端口

[root@localhost ~]# docker run -Pd nginx

[root@localhost ~]# docker ps -a 

image.png

http://192.168.63.128:32768/

image.png

docker run -p#

-p(小写)可以指定端口,可以有以下格式:HostPort:ContainerPort,IP:HostPort:ContainerPort,IP::ContainerPort

  • 映射所有地址
    可以多次指定-p,不同宿主机端口可以映射到相同的容器内部端口,反之不可以。

Copydocker run -p 8000:80 -p 8001:80 -d --name cntr1 nginx
  • 映射指定地址指定端口

Copydocker run -p 127.0.0.1:8002:80 -d nginx
  • 映射指定地址任意端口

Copydocker run -p 127.0.0.1::80 -d nginx

docker port#

docker port CONTAINER [PRIVATE_PORT[/PROTO]]
查看容器端口映射:

Copy-> [feifei@ffmac.local] [~] docker port cntr180/tcp -> 0.0.0.0:800180/tcp -> 0.0.0.0:8000

容器互联#

使用docker run时指定--link实现容器互联,格式是被连接容器名[:别名],别名可忽略。
它会更新容器的/etc/hosts文件与环境变量,也就是env的内容。从下面的窗口2结果可以看到host文件与env的变化:

Copy// 窗口1-> [feifei@ffmac.local] [~] docker run --name link1 -it ubuntu
root@a58c9864bb12:// 窗口2-> [feifei@ffmac.local] [~] docker run --name link2 --link link1:link1alias -it ubuntu

root@cfcb707dfba3: cat /etc/hosts|grep link172.17.0.2	link1alias a58c9864bb12 link1

root@cfcb707dfba3: env|grep link
LINK1ALIAS_NAME=/link2/link1alias

原文:https://www.cnblogs.com/flhs/p/12897723.html

标签: Docker

作者头像
南宫俊逸创始人

做一个积极主动热情的人,为了想要完成的事情和实现的目标,拼命投入力量。

上一篇:如何使用阿里云产品代金券?
下一篇:Docker入门(三):Dockerfile及多步骤构建镜像

发表评论

期待各位的加入,让原创发挥活力,让阅读更有价值!登录注册
登录
用户名
密码
注册
用户名
密码
确认密码
邮箱
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱