Docker 给运行中的容器设置端口映射的方法
作者:libraryhu 发布时间:2021-08-19 10:54:02
一、概念
Docker 端口映射即映射容器内应用的服务端口到本机宿主机器。
二、实现
当容器中运行一些网络应用,要让外部访问这些应用时,可以通过 -P 或 -p 参数两种方式来指定端口映射。
1. 随机映射
使用 -P 参数时,Docker 会随机映射一个端口到内部容器开放的网络端口,如下开启一个 nginx 服务:
$ docker run -d -P nginx
e93349d539119dc48dc841e117f6388d6afa6a6065b75a5b4aedaf5fb2a051fc
$
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e93349d53911 nginx "nginx -g 'daemon ..." 11 seconds ago Up 9 seconds 0.0.0.0:32769->80/tcp zen_kirch
使用 docker ps 看到,本地主机的 32769 端口被映射到了容器的 80 端口,这时我们通过本机浏览器访问 http://localhost:32769 就会出现 nginx 欢迎页面。
2. 指定端口
使用 -p 参数时,可以指定要映射的端口,并且在一个指定的端口上只可以绑定一个容器。支持的格式有:
IP:HostPort:ContainerPort
IP:ContainerPort
HostPort:ContainerPort
下面开启一个 nginx 服务,将本机 8080 端口映射到容器的 80 端口:
$ docker run -d -p 8080:80 nginx
23e725098712d061a1382f33d6fe54da23ae37597a62f8debdd3731b5f9cc4b9
$
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23e725098712 nginx "nginx -g 'daemon ..." 8 seconds ago Up 6 seconds 0.0.0.0:8080->80/tcp frosty_ptolemy
使用 docker ps 看到,本地主机的 8080 端口被映射到了容器的 80 端口,这时我们通过本机浏览器访问 http://localhost:8080 就会出现 nginx 欢迎页面。
三、查看映射端口
使用 docker port 命令来查看当前映射的端口配置,也可以查看到绑定的地址。命令格式如下:
$ docker port CONTAINER [PRIVATE_PORT[/PROTO]]
容器有自己的内部网络和 IP 地址,可以使用 docker inspect + 容器ID 获取容器的具体信息。
DOCKER 给运行中的容器添加映射端口
方法1
1、获得容器IP
将container_name 换成实际环境中的容器名
docker inspect `container_name` | grep IPAddress
2、 iptable转发端口
将容器的8000端口映射到docker主机的8001端口
iptables -t nat -A DOCKER -p tcp --dport 8001 -j DNAT --to-destination 172.17.0.19:8000
方法2
1.提交一个运行中的容器为镜像
docker commit containerid foo/live
2.运行镜像并添加端口
docker run -d -p 8000:80 foo/live /bin/bash
来源:http://blog.csdn.net/libraryhu/article/details/52443447


猜你喜欢
- 编辑smbpasswd文件从中删除不必要的账号以防止安全隐患,然后用以下命令添加新samba用户:bsd# /usr/local/samba
- 文件名称简介accwiz.exe辅助功能向导append.exe打开指定文件夹中的数据文件arp.exe显示和修改“地址
- Google网站优化器 (Website Optimizer,WO)是一个强大的工具,允许站长分析网站流量,测试有效性和转化率等变量,一般情
- 步骤1、mount /dev/sr0 /media/2、安装所需要的软件安装并配置tftp服务yum install tftp tftp-s
- 新的广告管理功能概述 如果您以前曾生成过广告代码,那么您会注意到随着我们最新功能的发布,帐户中会发生一些变化。借助新的广告管理功能,您可以在
- Web安全网关是Gartner在其2008年的报告中所重点提及的边界应用安全网关。其主要功能包括防病毒、URL过滤、Internet应用控制
- 虽然我们把这个话题写在 SEO入门的类别下,但据我们在网上所查资料发现,很多人对link 和domain 的区别存在误解,也就是说这个问题并
- 1. 现象描述原来使用一个 CentOS 虚拟机,这里叫 CentOS_1。网络配置如下:VMWare软件设置 NAT 模式,虚拟机配置 D
- Apache Maven一个潜在的基于java的apache ant的构建工具的替代者。两者之间的比较:第一:ant脚本是可以直接运行在ma
- 搜狗云输入法跨平台、免安装,对于Linux、Mac OS等操作系统的用户,或在网吧等临时使用环境,都能在上网冲浪时享受搜狗输入法的流畅输入体
- 你的计算机是否适合安装Windows 2000在开始安装Windows 2000之前,为保证安装的顺利和成功,必须保证硬件符合下列最低的需求
- 相信大家平时都会有需要复制粘贴数据的时候,如果是打开文件进行复制粘贴,就不可避免的需要较多的鼠标与键盘的操作,就会比较繁琐。那么有没有可以省
- 不要耍小聪明,自己点广告绝对危险,Google这么大的公司,有钱有技术在支持,不要认为我们开发个小软件就能骗过Google,不是不封~~是时
- 我们知道Google之前有发布一份“Google搜索引擎优化指南”,而近期百度也在百度创业者俱乐部发布了官方首份“百度搜索引擎优化指南”。这
- 描述解决VMware 15虚拟机桥接模式无法上网问题步骤1:在设置中找到 网络和internet—>>更改适配器选项-----&
- 由于众所周知的原因,微软的产品总能吸引黑客们的目光,IIS也不例外。IIS是什么?即因特网信息服务,作为当今流行的Web服务器之一,它提供了
- 08年,淡淡风带着几许兴奋几许忧伤淡淡的带队进京,然而仅仅一年,三月份便被北京闪了一下腰,由于某种原因从ku6辞职了。一时phpcms论坛炸
- 网站简介:蓝色理想 www.blueidea.com 诞生于1999年的10月,站长本名曾沐阳。从成立之初,蓝色理想就以建设网站设计与开发人
- 对你的数据进行备份是至关重要的,但是如果你不知道如何恢复这些数据,那些备份对你来说根本没有用处。这里是一个用微软系统中心数据保护管理器(DP
- 本文为大家分享了VMware Workstation安装银河麒麟,供大家参考,具体内容如下1.下载软件:VMware Workstation