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

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

问题描述

docker上面运行容器,run -p 的时候只映射了一个端口,后面对该nginx做扩展,需要开放其他端口。当然重新再启一个容器在docker启动参数里多配置几个-p端口映射是能解决的,但是如果自己不想重新启一个容器,试试下面两种方式

解决方法

方法一:

1.获取容器ip

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器id

docker容器增加端口映射,容器,docker,docker,nginx,运维

2.利用iptable转发,将容器的端口80映射到docker主机的端口8081

iptables -t nat -A  DOCKER -p tcp --dport 8081 -j DNAT --to-destination 172.17.0.3:80

方法二:

1.docker ps命令找到容器的id

2.将该容器设为自启动

docker update 容器id --restart=always

3.用命令docker inspect 6fe599270a48 | grep HostsPath找到nginx容器端口配置文件地址

[root@VM-0-6-centos 123]# docker inspect 6fe599270a48 | grep HostsPath
        "HostsPath": "/var/lib/docker/containers/6fe599270a482e0bf6b3c9a38a8d6212f6f5339e65b7bf32834ab9a5c6e81f9f/hosts",

4.进入配置文件路径

docker容器增加端口映射,容器,docker,docker,nginx,运维

5.关闭docker容器

systemctl stop docker

注意:如果出现Warning: Stopping docker.service, but it can still be activated by:
  docker.socket这样的错误,需要再执行一下systemctl stop docker.socket

6.修改hostconfig.json配置文件

vim hostconfig.json

docker容器增加端口映射,容器,docker,docker,nginx,运维

添加我们需要的端口映射:

"PortBindings": {
    "80/tcp": [
        {
            "HostIp": "",
            "HostPort": "8081"
        }
    ],
    "8000/tcp": [
        {
            "HostIp": "",
            "HostPort": "8000"
        }
    ],
    "9000/tcp": [
        {
            "HostIp": "",
            "HostPort": "9000"
        }
    ]
}

7.修改config.v2.json配置文件

同路径下打开config.v2.json,修改:ExposedPorts和Ports文章来源地址https://www.toymoban.com/news/detail-784101.html

"ExposedPorts": {
    "80/tcp": {},
    "8000/tcp": {},
    "9000/tcp": {}
}
"Ports": {
		"80/tcp": [{
			"HostIp": "0.0.0.0",
			"HostPort": "80"
		}],
		"8000/tcp": [{
			"HostIp": "0.0.0.0",
			"HostPort": "8000"
		}],
		"9000/tcp": [{
			"HostIp": "0.0.0.0",
			"HostPort": "9000"
		}]
}

8.重启docker容器

systemctl start docker

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

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

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

相关文章

  • Docker给容器添加新端口映射

    Docker容器创建后,其网络配置通常是固定的,包括端口映射。基于Docker的原生工具,一旦容器启动,就无法直接修改其端口映射。然而,有几种方法可以解决需要对现有容器添加新端口映射的问题。 最直接的方法是创建一个新的容器,并在创建时指定所有需要的端口映射。这

    2024年03月28日
    浏览(56)
  • docker为已启动的容器添加端口映射

    针对已运行的容器添加端口映射 1、查看容器是否映射端口 有端口映射: 无端口映射: 2、查看容器完整Id 3、进入docker容器目录查看 4、根据得到的容器完整id进入目录 目录中分别有两个文件: hostconfig.json 和 config.v2.json ,直接查看文件内容比较混乱可以下载到本机,使用

    2024年02月16日
    浏览(54)
  • Docker 容器添加新端口映射的方法与步骤

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

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

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

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

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

    2024年02月16日
    浏览(52)
  • 在Docker中为Nginx容器添加多端口映射的详细指南

    Nginx作为一款高性能的HTTP和反向代理服务器,常被用于处理网站流量、负载均衡以及反向代理等多种场景。在Docker环境中部署Nginx时,灵活地配置端口映射是确保服务正常运行的关键步骤之一。本文将深入探讨如何在启动Nginx Docker容器时,通过Docker命令行添加多端口映射,同

    2024年04月28日
    浏览(57)
  • Docker容器修改端口映射

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

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

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

    2024年02月05日
    浏览(53)
  • 如何修改docker容器的端口映射

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

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

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

    2024年04月26日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包