docker如何给已存在的容器添加或修改端口映射

 更新时间:2024年02月06日 16:24:15   作者:Hello_wshuo  
这篇文章主要介绍了docker如何给已存在的容器添加或修改端口映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

简述

这几天研究了一下docker, 发现建立完一个容器后不能增加端口映射了,

因为 docker run -p-p 参数

但是 docker start 没有 -p 参数

让我很苦恼,无奈谷歌了一番,终于让我找到了解决办法

解决办法

一种是将原来的容器提交成镜像,然后利用新的建立的镜像重新建立一个带有端口映射的容器,不推荐这种办法

另一种就是改容器配置文件(也是我推荐的解决办法):

配置文件在

/var/lib/docker/containers/[hash_of_the_container]/hostconfig.json 

还有

config.v2.json 

这俩文件

hash_of_the_container 可以通过 docker inspect 容器名字 来查看

id 就是 容器的 hash 数值,在 hostconfig.json 里有 "PortBindings":{} 这个配置项,

可以改成

"PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"8080"}]} 

这里 80 是容器端口,

8080 是本地端口, 然后在 config.v2.json 里面添加一个配置项 "ExposedPorts":{"80/tcp":{}} ,

将这个配置项添加到 "Tty": true, 前面,

我不知道添加到别的地方会不会有影响,因为经过对比正常的端口映射配置项是在这个位置,

这个就是将容器内部端口暴露出来,如果不加这一句端口映射不会成功的,

最后重启 docker的守护进程 service docker restart

这里有个问题就是重启后 用docker ps -a 是看不到端口映射的,但实际已经映射好了

我正常在新建一个带有端口映射容器的时候,重启 docker的守护进程,

端口映射也不会显示出来,但是通过docker inspect 容器名 可以看到配置项已经修改成功了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker创建openresty容器的实现步骤

    Docker创建openresty容器的实现步骤

    OpenResty可以用来构建高性能的Web应用和服务,本文主要介绍了Docker创建openresty容器的实现步骤,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • docker 安装Oracle-12C的方法详解

    docker 安装Oracle-12C的方法详解

    这篇文章主要介绍了docker 安装Oracle-12C的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 使用Docker安装和配置 MySQL 数据库的过程详解

    使用Docker安装和配置 MySQL 数据库的过程详解

    本文将介绍如何使用Docker来安装和配置MySQL数据库,以便在开发和测试环境中快速搭建MySQL实例,本文也是介绍两种方式进行分别是“使用镜像安装”、“使用Docker Compose安装”,感兴趣的朋友一起看看吧
    2023-12-12
  • Docker安装php及yaf扩展文件内容

    Docker安装php及yaf扩展文件内容

    这篇文章主要为大家介绍了Docker安装php及yaf扩展文件内容,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Docker基础学习之数据管理

    Docker基础学习之数据管理

    我们在使用Docker 的时候,会产生很多数据,比如web服务器啊,数据库之类的,有时我们还需要备份或复制这些数据,这就需要涉及到Docker的数据管理了。这篇文章就给大家详细的介绍Docker的数据管理,感兴趣的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • centos6使用docker部署kafka项目的方法分析

    centos6使用docker部署kafka项目的方法分析

    这篇文章主要介绍了centos6使用docker部署kafka项目的方法,结合实例形式分析了centos6环境下使用docker部署kafka项目的相关命令与使用技巧,需要的朋友可以参考下
    2020-02-02
  • docker+jenkins+gitee配置持续集成部署方式

    docker+jenkins+gitee配置持续集成部署方式

    这篇文章主要介绍了docker+jenkins+gitee配置持续集成部署方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 腾讯云服务器docker开启端口后无法访问的解决方法

    腾讯云服务器docker开启端口后无法访问的解决方法

    本文主要介绍了腾讯云服务器docker开启端口后无法访问的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Docker部署前后端分离项目的三种方式小结

    Docker部署前后端分离项目的三种方式小结

    本文主要介绍了Docker部署前后端分离项目的三种方式小结,包含通过两个容器部署,通过compose编排容器自动部署和将前后端项目打成一个镜像部署的三种方式,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 在docker中执行linux shell命令的操作

    在docker中执行linux shell命令的操作

    这篇文章主要介绍了在docker中执行linux shell命令的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论