docker为已启动的容器添加端口映射

这篇具有很好参考价值的文章主要介绍了docker为已启动的容器添加端口映射。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker已运行容器添加端口映射

针对已运行的容器添加端口映射

1、查看容器是否映射端口

docker port [容器id 或 容器名]

有端口映射:

docker 运行中的容器添加端口映射,docker,容器,运维

无端口映射:

docker 运行中的容器添加端口映射,docker,容器,运维

2、查看容器完整Id

docker inspect [容器id] | grep Id
// 得到以下结果
//    "Id": "fcae55f5180a79487662de426863565c7df05ed9b87854093b62776734928d25",

3、进入docker容器目录查看

cd  /var/lib/docker/containers/var/lib/docker/containers

docker 运行中的容器添加端口映射,docker,容器,运维

4、根据得到的容器完整id进入目录

cd fcae55f5180a79487662de426863565c7df05ed9b87854093b62776734928d25

目录中分别有两个文件:hostconfig.jsonconfig.v2.json,直接查看文件内容比较混乱可以下载到本机,使用json工具查看。

5、修改配置文件

hostconfig.json

// 当前容器 3306 端口绑定到本机 3306 端口
"PortBindings": {
    "3306/tcp": [
        {
            "HostIp": "",
            "HostPort": "3306"
        }
    ]
},

config.v2.json

// 这个文件需要查看两个位置
	// 暴露 3306、33060 端口
"ExposedPorts": {
    "3306/tcp": {
    },
    "33060/tcp": {
    }
},

// 和 
	// 这一段应该是表示哪些ip可以访问之类的
	// 如下也是我从一个 docker run -d -p80:80 ... 带有端口映射的容器的 config.v2.json 文件中复制出来修改后的
"Ports": {
    "3306/tcp": [
        {
            "HostIp": "0.0.0.0",
            "HostPort": "3306"
        },
        {
            "HostIp": "::",
            "HostPort": "3306"
        }
    ],
    "33060/tcp": null
},

6、替换配置文件

  1. 停止容器

    docker stop [容器Id 或 容器名]
    
  2. 将修改过后的配置文件复制到指定目录下 /var/lib/docker/containers/完整容器Id,(怕修改错误可以先备份原有的文件)

  3. 重启docker

    systemctl restart docker
    
  4. 重启后可以先查看 hostconfig.jsonconfig.v2.json 两个配置文件是否是修改过后的,如果不是可以尝试多上传几次(我就是这样的)

  5. 最后再查看端口号是否有映射文章来源地址https://www.toymoban.com/news/detail-591239.html

    docker port [容器id 或 容器名称]
    

到了这里,关于docker为已启动的容器添加端口映射的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker 容器添加新端口映射的方法与步骤

    在Docker容器已经创建后,需要添加新的端口映射,即对已经存在的Docker容器添加新的端口映射,可以通过以下步骤来添加,即通过修改配置文件的方法。 1、先找到要修改的容器hash值: docker inspect 容器名称 2、然后退出docker Desktop服务(因为在线状态配置文件修改保存不了)

    2024年02月11日
    浏览(35)
  • docker 容器如何查看正在运行容器的端口映射

    1、查看docker容器的版本 2、查看正在运行的容器 3、查看容器的端口映射 总结:到此就完成了查看正在运行容器的端口映射.

    2024年02月12日
    浏览(41)
  • Docker中对已存在运行的容器修改端口映射和容器卷映射

    一、初次创建容器,指定宿主机和容器端口的映射,如下示例: 二、对已存在运行容器,更改端口 方式一:(删了原来的,根据image重做) 1、停止容器 2、将容器打包成镜像 3、用“一”中的命令,通过新镜像开启新容器 方式二:(直接修改现有容器) 1、停止容器 2、查找

    2024年02月16日
    浏览(45)
  • docker 在已经启动的容器中开启端口映射

    在找这个ID的时候要先在之前docker没关闭之前查看 配置文件如下 这个是hostconfig.json 在这里要把映射的端口信息写入 这里是config.v2.json 这里要把暴露的端口写入 在本机查看一下端口占用

    2024年02月08日
    浏览(35)
  • Docker 对已经启动的容器添加目录映射

    需要在测试环境先进行试验,操作不当可能导致容器无法启动!!! 操作系统:CentOS 7.9.2009 x86_64 Docker 版本:20.10.12 使用 Docker 进行部署 TDengine 数据库,需要每天进行数据备份,但是创建该容器时没有添加目录映射到宿主机,如果容器异常可能导致数据无法恢复。 关闭 doc

    2024年02月04日
    浏览(46)
  • (五)在docker中添加nginx端口映射(解决docker中的nginx无法访问除80端口以外的问题)

    问题描述: 我们在docker中开启nginx以后,如果这时候在nginx中配置除了80以外的端口的监听,会发现无法访问,这时候其实是因为我们没有开启端口映射导致的。 这个时候,我们可以采用修改配置文件的方式去添加端口映射,具体步骤如下: 首先先关闭docker,否则修改配置文

    2023年04月08日
    浏览(31)
  • Docker容器修改端口映射

    (1) 在不删除现有容器的情况下, 修改原有容器的端口映射; (2) 创建容器的时候指定了一个端口映射, 但是创建之后的容器存在多个端口映射; 1 首先创建一个容器并指定端口映射; 2 实际容器存在连个端口映射 1、停止容器 docker stop 容器id 2、停止docker服务

    2024年02月08日
    浏览(43)
  • docker 容器修改端口和目录映射

    一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如 这里是将容器内的80端口映射到宿主机的8088端口 参数说明 -d 表示后台运行容器 -t 为docker分配一个伪终端并绑定到容器的标准输入上

    2024年04月26日
    浏览(50)
  • 如何修改docker容器的端口映射

    要修改 Docker 容器的端口映射,你需要停止并删除现有的容器,然后使用新的端口映射重新运行容器。以下是详细步骤: 停止容器 : 使用 docker stop 命令停止正在运行的容器。替换 container_id 为你要停止的容器的 ID 或者容器的名称。 删除容器 : 使用 docker rm 命令删除已停止

    2024年02月22日
    浏览(37)
  • Docker修改容器已经映射的端口

    Docker启动容器后,需要新增或者修改端口映射 修改配置文件更改端口 关闭容器 需要先关闭Docker,否则配置不生效 查看容器挂载目录 修改配置 修改 hostconfig.json 文件 修改 config.v2.json 文件 并不需要修改Ports,只有在你没有stop容器时,Ports才会有值,如果关闭了容器,就是空数

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包