docker(8):docker容器的端口映射
docker(8):docker容器的端口映射
cker的端口映射,能保证在外部网络 访问 同一设备上不同容器时候 不会因为端口问题产生冲突。
docker 可将容器对外提供服务的端口映射到 host 的某个端口,外网通过该端口访问容器。容器启动时通过-p
参数映射端口:
指定映射
- -p hostPort:containerPort #0.0.0.0:80
- -p ip:hostPort:containerPort #指定宿主机IP地址,例如192.168.0.136:80,多个容器都想使用80端口,添加多个IP
- -p ip::containerPort #随机端口 ,32768端口,内核参数决定的net.ipv4.ip_local_port_range = 32768 60999
- -p hostPort:containerPort:udp #udp
- -p 81:80 –p 443:443 #指定多个
默认
[root@docker-136 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@docker-136 ~]# docker run --name web1 -d -p 80:80 nginx 9d2300fd85bed6f22dec3cf7ca4cab0c1f3e753e34bdf0b6dcc152246cbecd39 [root@docker-136 ~]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6862/sshd tcp6 0 0 :::80 :::* LISTEN 27641/docker-proxy tcp6 0 0 :::22 :::* LISTEN 6862/sshd
指定端口
[root@docker-136 ~]# ifconfig ens33:1 192.168.0.199/24 up [root@docker-136 ~]# ifconfig ens33:1 ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.0.199 netmask 255.255.255.0 broadcast 192.168.0.255ether 00:0c:29:51:f5:dd txqueuelen 1000 (Ethernet)[root@docker-136 ~]# [root@docker-136 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@docker-136 ~]# docker run --name web2 -d -p 192.168.0.199:80:80 nginx e765cce89d8041a33b832875476ad5114d1c6521d1e8c23a4e96c31ef6ab4b3d [root@docker-136 ~]# docker run --name web1 -d -p 192.168.0.136:80:80 nginx 234d7356881bc1717d30e5bd639b2a607bf67933faad0106ee8d9d0a0a06cd1e [root@docker-136 ~]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.0.136:80 0.0.0.0:* LISTEN 28469/docker-proxy tcp 0 0 192.168.0.199:80 0.0.0.0:* LISTEN 28370/docker-proxy tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6862/sshd tcp6 0 0 :::22 :::* LISTEN 6862/sshd [root@docker-136 ~]#
随机
[root@docker-136 ~]# docker run --name web3 -d -p 192.168.0.136::80 nginx d13119eb08088b264a0727d1afd4d5961e9309ba4f28f507f5809666cccde27f [root@docker-136 ~]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.0.136:80 0.0.0.0:* LISTEN 28469/docker-proxy tcp 0 0 192.168.0.199:80 0.0.0.0:* LISTEN 28370/docker-proxy tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6862/sshd tcp 0 0 192.168.0.136:32768 0.0.0.0:* LISTEN 28877/docker-proxy tcp6 0 0 :::22 :::* LISTEN 6862/sshd [root@docker-136 ~]#
多个端口
[root@docker-136 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d13119eb0808 nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 192.168.0.136:32768->80/tcp web3 [root@docker-136 ~]# [root@docker-136 ~]# docker run --name web4 -d -p 80:80 -p 443:443 nginx 4927f0ef45ab2741d894a5ae5e5ccec373970a477c07bf2f9f2e9fb0ddd9f018 [root@docker-136 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4927f0ef45ab nginx "nginx -g 'daemon of…" 3 seconds ago Up 1 second 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp web4 d13119eb0808 nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 192.168.0.136:32768->80/tcp web3 [root@docker-136 ~]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6862/sshd tcp 0 0 192.168.0.136:32768 0.0.0.0:* LISTEN 28877/docker-proxy tcp6 0 0 :::80 :::* LISTEN 29287/docker-proxy tcp6 0 0 :::22 :::* LISTEN 6862/sshd tcp6 0 0 :::443 :::* LISTEN 29276/docker-proxy [root@docker-136 ~]#
转载于:https://www.cnblogs.com/wangxu01/articles/11316480.html
docker(8):docker容器的端口映射相关推荐
- docker 改host_Docker容器修改端口映射
对于已经建立的docker容器,需要新增容器对主机的端口映射,主要分为三种: 一:通过修改配置文件修改docker容器端口映射 1.使用docker ps -a命令找到要修改容器的CONTAINER ...
- Docker添加或者更改容器的端口映射
QUESTION:Docker添加或者更改容器的端口映射? ANSWER: 初学Docker容器,按照教程的基本命令,拉取创建了几个容器,都是在一开始新建的时候 docker run -p 指定对应 ...
- 解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题
解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题 参考文章: (1)解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题 (2)https://www.cnblogs. ...
- 解决windows系统无法对docker容器进行端口映射的问题
解决windows系统无法对docker容器进行端口映射的问题 参考文章: (1)解决windows系统无法对docker容器进行端口映射的问题 (2)https://www.cnblogs.com/ ...
- Docker容器修改端口映射
Docker容器修改端口映射 https://zhuanlan.zhihu.com/p/94949253 对于已经建立的docker容器,需要新增容器对主机的端口映射,主要分为三种: 一:通过修改配置 ...
- win10 docker 容器修改端口映射
通常容器生成后是无法通过docker界面或docker命令去修改端口映射的,以下是通过修改配置文件的方式实现: 第一步:在powershell执行以下命令找到容器hash值 docker inspec ...
- 解决Windows下无法对docker容器进行端口映射的问题
解决Windows下无法对docker容器进行端口映射的问题 在安装了一个Windows下安装了docker,并尝试在其中运行Nginx服务,但映射完毕之后,在主机的浏览器中,打开localhost: ...
- docker容器增加端口映射最佳实践(修改配置文件方式)
前言: 在日常的docker运维中,经常遇到这样一个问题:已经配置好且运行的docker容器要根据业务需要增加端口映射到宿主机,如何简单有效的解决呢? 下面以mysql容器为例,详细说明操作步骤. 一 ...
- Docker容器设置端口映射的方法
概念 Docker 端口映射即映射容器内应用的服务端口到本机宿主机器. #实现 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过 -P 或 -p 参数两种方式来指定端口映射. 1.随机映射 ...
最新文章
- BS-GX-016基于SSM实现教材管理系统
- 精通python设计模式-精通Python设计模式
- CCNA-(9)-思科交换机特点
- Swoole跨域问题解决
- 四、用户、群组和权限(未完结)
- applicationContext配置文件模板1
- 根据选择计算Mask值
- Linux 5.10 LTS 发布,支持到 2026 年
- android google地图点聚合样式修改
- 姆町网络验证带壳内存取密钥
- 线性代数 第二章 矩阵 知识点总结(Jeff自我感悟)
- 关于《训练指南》中的“翻棋子游戏”
- 指令系统相兼容的计算机称为系列机,第4章指令系统.ppt
- word2013自动生成目录的时候,如何调整目录格式?
- 接口文档与接口文档管理工具
- 安卓layout布局三等分
- 一台服务器​最大并发 tcp 连接数多少?65535?
- linux设置用户默认桌面背景,linux 修改桌面背景
- android 厨房的使用方法,安卓ROM厨房定制工具使用教程
- clcl.bz index.php,BZPHP
热门文章
- web3j用于solidity智能合约maven插件
- Pr_cc 学习笔记(九)画中画
- 魅族 android6.0,大屏又好用的 MEIZU 魅蓝MAX及Flyme6.0初体验
- android 8.1评测,支持Html5标准 UC浏览器8.1安卓版抢先评测
- 计算机中收藏夹中的桌面怎么找,电脑浏览器收藏夹保存在哪里
- 用php输入边长求正方形面积,求正方形的面积
- 深度学习AI美颜系列
- 第五届 蓝桥杯 海盗分金币 JAVA
- python的turtle库画笔和填充颜色的控制方式
- js导出excel(带边框以及文本样式)