一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如

docker run -it -d --name [container-name] -p 8088:80 [image-name]

这里是将容器内的80端口映射到宿主机的8088端口

参数说明

  • -d 表示后台运行容器
  • -t 为docker分配一个伪终端并绑定到容器的标准输入上
  • -i 是让容器的标准输入保持打开状态
  • -p 指定映射端口

在运行容器时指定映射端口运行后,如果想要添加新的端口映射,可以使用以下两种方式:

方式一:将现有的容器打包成镜像,然后在使用新的镜像运行容器时重新指定要映射的端口

大概过程如下:

先停止现有容器

docker stop container-name

将容器commit成为一个镜像

docker commit container-name  new-image-name

用新镜像运行容器

docker run -it -d --name container-name -p p1:p1 -p p2:p2 new-image-name

方式二:修改要端口映射的容器的配置文件

查看容器信息

docker ps -a

查看容器的端口映射情况,在容器外执行:

docker port 容器ID 或者 docker port 容器名称

查找要修改容器的容器Id

docker inspect f244 |grep Id

进到/var/lib/docker/containers 目录下找到与 Id 相同的目录,修改 hostconfig.json 和 config.v2.json文件

若该容器还在运行,先停掉

docker stop 容器ID

停掉docker服务

systemctl stop docker

修改hostconfig.json如下,添加端口绑定"9003/tcp": [{"HostIp": "","HostPort": "9003"}],表示绑定端口9003

修改config.v2.json在ExposedPorts中加上要暴露的端口,即9003

改完之后保存启动docker

systemctl start docker

之后可以再次查看添加的端口是否已映射绑定上

附注:

1、将容器打包成镜像命令:

docker commit -a "king西阳" -m "a new image" [容器名称或id] [打包的镜像名称]:[标签]

常用OPTIONS说明:

  • -a :提交的镜像作者
  • -c :使用Dockerfile指令来创建镜像
  • -m :提交时的说明文字
  • -p :在commit时,将容器暂停

2、查看宿主机端口是否和容器内端口映射成功,在容器外执行

netstat -an |grep 宿主机的映射端口

如果有进程存在则表示有映射

来源:https://www.cnblogs.com/kingsonfu/p/11578073.html

运行中的Docker容器添加映射端口相关推荐

  1. 如何给运行中的docker容器增加映射端口

    方式一: 宝塔面板下操作 点开Docker管理器 点击状态 停掉相应的容器 在点击状态管理 点击停止 停掉docker服务 然后在宿主机宝塔面板找到以下路径文件 例如:我们要新增容器3306端口映射到 ...

  2. Docker容器添加映射端口

    文章目录 前言 方式一 简单粗暴 方式二 细水长流 前言 一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如 dock ...

  3. Docker容器指定映射端口启动redis

    服务器docker容器启动redis后发现外部根本访问不了redis docker在启动redis之后外部访问不了拒绝连接 可能存在问题是因为没有指定redis配置文件启动 但在启动镜像之前,我们需要 ...

  4. pycharm远程连接服务器中的docker容器的配置

    pycharm远程连接服务器中的docker容器 第一步:服务器中安装docker以及docker容器的运行 1.1docker的安装 docker的安装可以参照阿里云的教程, 阿里云安装教程,包含d ...

  5. 记录docker修改mysql映射端口

    刚学习docker 记录以下修改docker mysql容器映射端口号 一.问题描述 1.在创建mysql容器时指定映射端口号,后期需要修改映射端口 二.操作步骤 1.先停掉docker容器,执行以下 ...

  6. linux运行docker容器,添加映射端口

    最近因为公司业务,开始了解关于docker的使用,在保存一个新的镜像,运行该镜像容器后,发现不能再修改映射的端口号 修改容器映射端口出错,重启容器通过"-p 端口:端口"命令添加端 ...

  7. docker容器添加对外映射端口

    一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如 docker run -it -d --name [contain ...

  8. Docker容器启动时端口映射失败

    更多精彩内容请访问我的新博客站点 介绍 在一台虚拟机上创建容器时因为端口映射的问题而导致容器启动失败,并提示 docker: Error response from daemon: driver fa ...

  9. 10分钟教你如何在win10上操作win10上的虚拟机中的docker容器,保证学会

    欢迎关注微信公众号 山人彤 .海量资源免费送 1 背景介绍 小秦同学这几天,在进行分布式系统的学习,难免需要搭建各种集群.但是,小秦同学非常穷,小秦同学的导师也非常地穷,没有一个分布式集群来学习.所以 ...

最新文章

  1. dows 性能监控软件 Spotlight On Windows
  2. LightOJ - 1222 Gift Packing(最大费用最大流/KM)
  3. 名词解释计算机网络体系结构,计算机网络技术题库(带答案).doc
  4. maven 之 setting.xm 的配置详解、说明
  5. Java多线程学习十二: synchronized的工作原理 以及背后的“monitor 锁”
  6. TF-Lite极简参考-模型转换
  7. MongoDB实战经验分享
  8. Linux下如何从mysql数据库里导出导入数据
  9. java 隐式构造,java隐式创建的对象
  10. 日常一记(11)--word公式输入任意矩阵
  11. 电路设计基础--MOS管驱动直流电机电路,看懂芯片手册
  12. 一个月转推荐:LR算法原理
  13. 大气压力换算公式_压力公式换算
  14. 蓝牙开发那些事儿(1)——从抓包数据开始
  15. Java实现POS打印机无驱打印(转)
  16. Flutter混合栈管理
  17. 世纪佳缘财务及运营数据分析
  18. 创建OMF(Oracle Managed Files,Oracle管理的文件)
  19. 【数据结构】顺序表详解 | 从零开始步步解读 | 画图理解并调试分析
  20. CSS3 设置模糊背景图片

热门文章

  1. 【产品面试】经典的一些面试题回顾
  2. 如何应对工作中的冲突?
  3. 生产环境CPU飙高问题解决,记一次完整解决过程
  4. 关于调用第三方sdk
  5. 同为iOS开发者为什么有人4k有人40k?原因就在这里!
  6. 掌握生成对抗网络(GANs),召唤专属二次元老婆(老公)不是梦
  7. java计算机毕业设计基于安卓Android微信小程序的共享单车租赁系统uniApp
  8. domian shift
  9. Android初级,Toast的带图片显示
  10. 【win】系统工具Win PE