码迷,mamicode.com
首页 > 其他好文 > 详细

端口映射与容器互联

时间:2020-01-27 17:19:36      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:ports   网络   created   需要   net   eve   forward   多个   一个   

一、简介

在生产环境中, 经常会碰到需要多个服务组件容器共同协作的情况, 这需要多个容器之间能够互相访问到对方的服务。

所以Docker允许映射容器内应用的服务端口到本地宿主主机;还能通过互联机制实现多个容器间通过容器名快速访问。

二、端口映射实现容器访问

2.1 从外部访问容器应用

默认无法通过网络来访问容器内的应用跟服务,需要通过-p或-P指定映射端口,-P会随机映射一个49000~49900的端口,-p为指定某端口。

[root@localhost dbdata]# docker run -d -P training/webapp python app.py
WARNING: IPv4 forwarding is disabled. Networking will not work.
19c841267937f78cdfe7df8a33f8507d4fa367aad8c10086d48a59df23b49e58

可以看到宿主机的32770端口映射成了容器的5000端口

[root@localhost dbdata]# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
19c841267937        training/webapp     "python app.py"     4 seconds ago       Up 3 seconds        0.0.0.0:32770->5000/tcp   clever

也可以使用docker logs命令查看应用信息

[root@localhost dbdata]# docker logs -f 19c841267937
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

2.2 映射指定端口

$docker run -d -p 5000:5000 training/webapp python app.py
$docker run -d -p 5000:5000 -p 3000:80 training/webapp python app.py

3.3 映射到指定地址的指定端口

$docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

3.4 映射到指定地址的任意端口

$docker run -d -p 127.0.0.1::5000 training/webapp python app.py
$docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py

3.5 查看映射的端口配置

[root@localhost dbdata]# docker port 19c841267937 5000
0.0.0.0:32770

端口映射与容器互联

标签:ports   网络   created   需要   net   eve   forward   多个   一个   

原文地址:https://www.cnblogs.com/tz90/p/12236211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!