关于DOCKER启动后如何添加新的端口映射

前段时间在用docker部署服务的时候发现,容器已经启动,但是需要新的端口映射(即容器在启动的时候只进行了部分的端口映射 ),经过查询资料后发现现在网上有2种方法,一中是修改json文件另一种是将已经运行的容器打包成一个新的镜像,然后基于打包后的镜像来在启动容器的时候开启全部的端口映射。但是经过我的测试发现第一种修改json文件的方式好像会重置容器。

方法一

停止docker服务

systemctl stop docker

修改json文件,一般要修改的文件在/var/lib/docker/containers/下,找到要修改的容器然后进入目录即可看到hostconfig.jsonconfig.v2.json

  • **config.v2.json:**Docker容器的配置文件之一,包含了容器的配置信息,如环境变量、端口映射、卷挂载点等。版本2表示这是Docker引入新配置格式后的文件。

  • **hostconfig.json:**另一个重要的Docker容器配置文件,包含了容器的主机配置信息,比如网络模式、资源限制(如CPU份额和内存限制)、重启策略等。

按照格式添加端口即可

启动docker服务

systemctl stat docker

经过这种方式修改后确实会添加新的端口映射,但是容器也好像会被重置 。除了这个问题因为这种方式还涉及到了docker的启停,若是容器过多的话会影响到别的业(不推荐)

方法二

将容器打包成镜像,然后基于打包后的镜像来在启动容器的时候开启全部的端口映射即可


若是还有别的方法或者文章中有错误的话请指出!!!

相关推荐
淡水猫.12 分钟前
Fakelocation Server服务器/专业版 ubuntu
运维·服务器·ubuntu
wenyue112118 分钟前
Ease Monitor 会把基础层,中间件层的监控数据和服务的监控数据打通,从总体的视角提供监控分析
运维·中间件·监控
时光の尘27 分钟前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
我们的五年32 分钟前
【Linux课程学习】:进程描述---PCB(Process Control Block)
linux·运维·c++
灼烧的疯狂1 小时前
K8S + Jenkins 做CICD
容器·kubernetes·jenkins
运维老司机1 小时前
Jenkins修改LOGO
运维·自动化·jenkins
D-海漠1 小时前
基础自动化系统的特点
运维·自动化
我言秋日胜春朝★1 小时前
【Linux】进程地址空间
linux·运维·服务器
C-cat.2 小时前
Linux|环境变量
linux·运维·服务器
wenyue11212 小时前
Revolutionize Your Kubernetes Experience with Easegress: Kubernetes Gateway API
容器·kubernetes·gateway