热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Docker端口映射详细介绍

这篇文章主要介绍了Docker端口映射详细介绍的相关资料,需要的朋友可以参考下

Docker 端口映射:

         最近抽空,把Docker 端口映射的资料整理了一下,以便后续项目应用,大家也可以参考下。  

# Find IP address of container with ID  通过容器 id 获取 ip $ sudo docker inspect  | grep IPAddress | cut -d '"' -f 4

无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了端口只能本地访问外,对于容器的另外一个问题是这些 ip 在容器每次启动的时候都会改变。
Docker 解决了容器的这两个问题,并且给容器内部服务的访问提供了一个简单而可靠的方法。Docker 通过端口绑定主机系统的接口,允许非本地客户端访问容器内部运行的服务。为了简便的使得容器间通信,Docker 提供了这种连接机制。

5.1 自动映射端口

-P使用时需要指定--expose选项,指定需要对外提供服务的端口

$ sudo docker run -t -P --expose 22 --name server  ubuntu:14.04

使用docker run -P自动绑定所有对外提供服务的容器端口,映射的端口将会从没有使用的端口池中 (49000..49900) 自动选择,你可以通过docker ps、docker inspect 或者docker port 确定具体的绑定信息。

5.2 绑定端口到指定接口

基本语法

$ sudo docker run -p [([:[host_port]])|():][/udp]

默认不指定绑定 ip 则监听所有网络接口。

 绑定 TCP 端口

# Bind TCP port 8080 of the container to TCP port 80 on 127.0.0.1 of the host machine. $ sudo docker run -p 127.0.0.1:80:8080 # Bind TCP port 8080 of the container to a dynamically allocated TCP port on 127.0.0.1 of the host machine. $ sudo docker run -p 127.0.0.1::8080 # Bind TCP port 8080 of the container to TCP port 80 on all available interfaces of the host machine. $ sudo docker run -p 80:8080 # Bind TCP port 8080 of the container to a dynamically allocated TCP port on all available interfaces $ sudo docker run -p 8080

绑定 UDP 端口

# Bind UDP port 5353 of the container to UDP port 53 on 127.0.0.1 of the host machine. $ sudo docker run -p 127.0.0.1:53:5353/udp

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


推荐阅读
author-avatar
jytujtuyt
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有