关于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的启停,若是容器过多的话会影响到别的业(不推荐)

方法二

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


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

相关推荐
chalmers_1519 小时前
服务器启动的时候就一个对外的端口,如何同时连接多个客户端?
运维·服务器·网络
@木辛梓19 小时前
linux 信号
linux·运维·服务器
初学者521319 小时前
服务器映射外网端口22连接不上,局域网能通
运维·服务器·ubuntu
一周困⁸天.19 小时前
Keepalived双机热备
linux·运维·keepalived
漏刻有时19 小时前
宝塔面板:基于 top 命令的服务器运行状态深度分析
运维·服务器
Ponp_20 小时前
Ubuntu 22.04 + ROS 2 Humble实现YOLOV5目标检测实时流传输(Jetson NX与远程PC通信)
linux·运维·yolo
努力搬砖的咸鱼1 天前
容器之间怎么通信?Docker 网络全解析
网络·docker·云原生·容器
gfdgd xi1 天前
GXDE 内核管理器 1.0.1——修复bug、支持loong64
android·linux·运维·python·ubuntu·bug
我命由我123451 天前
Derby - Derby 服务器(Derby 概述、Derby 服务器下载与启动、Derby 连接数据库与创建数据表、Derby 数据库操作)
java·运维·服务器·数据库·后端·java-ee·后端框架
liming4951 天前
Ubuntu18.04部署k8s
云原生·容器·kubernetes