docker 端口映射与容器互联

在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的,要让外部访问这些应用时,可以通过-P和-p参数来指定端口映射。当使用-P(大写的)标记时,docker会随机映射一个49000~49900的端口到内部容器开放的网络端口,-p(小p)可以指定到要映射的端口。

一、随机映射:端口不会冲突。-P(大P)

[root@tcy1 tcy]# docker run -P -d --name mynginx1 nginx
72decf04199f8ca77d0c59351cc04a360c125b1bd5a949a31c572bda8ca0486a

映射关系如下:把docker的80端口,映射到了主机的32768端口。

[root@tcy1 tcy]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                   NAMES
72decf04199f        nginx               "nginx -g 'daemon of   12 seconds ago      Up 7 seconds        0.0.0.0:32768->80/tcp   mynginx1    

二、指定端口:

1、HostPort:ContainerPort

HostPort是本地的端口,ContainerPort是容器里的端口。

[root@tcy1 tcy]# docker run -d -p 92:80 --name mynginx2 nginx
f1a2dc37908b7e612df81301b068d2ee88bb49f79dd23eab12eb02172e5d7fe1
[root@tcy1 tcy]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                CREATED              STATUS              PORTS                NAMES
f1a2dc37908b        nginx               "nginx -g 'daemon of   About a minute ago   Up About a minute   0.0.0.0:92->80/tcp   mynginx2 

2、IP:HostPort:ContainerPort,映射到指定地址的指定端口

docker run -d -p 127.0.0.1:92:80 --name mynginx2 nginx
3、IP::ContainerPort,映射到指定地址的任意端口
docker run -d -p 127.0.0.1::80 --name mynginx2 nginx

三、容器互联

容器互联是一种让多个容器中应用进行快速交互的方式。它会在源和接受容器之间创建连接关系,接受容器可以通过容器名快速访问到源容器,而不用指定具体的IP地址。连接系统依据容器的名称来执行。

1、随机映射:端口不会冲突。-P(大P)

[root@tcy1 tcy]# docker run -P -d --name mynginx1 nginx
72decf04199f8ca77d0c59351cc04a360c125b1bd5a949a31c572bda8ca0486a

映射关系如下:把docker的80端口,映射到了主机的32768端口。

[root@tcy1 tcy]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                   NAMES
72decf04199f        nginx               "nginx -g 'daemon of   12 seconds ago      Up 7 seconds        0.0.0.0:32768->80/tcp   mynginx1    

2、指定端口:91是主机的端口,80是容器里的端口。

[root@tcy1 tcy]# docker run -d -p 92:80 --name mynginx2 nginx
f1a2dc37908b7e612df81301b068d2ee88bb49f79dd23eab12eb02172e5d7fe1
[root@tcy1 tcy]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                CREATED              STATUS              PORTS                NAMES
f1a2dc37908b        nginx               "nginx -g 'daemon of   About a minute ago   Up About a minute   0.0.0.0:92->80/tcp   mynginx2 


  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值