CentOS 系统 Docker 创建过的容器如何修改映射端口

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: CentOS 系统 Docker 创建过的容器如何修改映射端口
简介:平常我们在创建 Docker 容器的时候都会使用 -p 来指定容器和宿主机之间的端口映射。本篇文章指导如何修改创建过的容器端口映射

在这里插入图片描述

1. 执行环境

1.1 操作系统

aliyun ECS :CentOS 7.2 64位

1.2 docker 版本

Server Version: 19.03.2

2. 操作步骤

2.1 停止 docker 容器

在停止容器之前,我们需要知道要修改的容器ID,以别名 redis 为例

[xxx@xxx ~]# docker inspect redis
[
    {
        "Id": "49db307d55334ffaccdf1d27958e5aa42e8d22cab14a38351d6df3446da8be56",
        "Created": "2020-05-07T13:06:30.952749892Z",
        "Path": "docker-entrypoint.sh",
        ...
    }
]

redis的容器ID 记下 49db307d55334ffaccdf1d27958e5aa42e8d22cab14a38351d6df3446da8be56

执行停止容器操作,虽然可以直接执行第二步,但是建议养成优雅退出的习惯。docker stop redis 防止数据的异常

2.2 停止 docker 服务

systemctl stop docker

2.3 修改容器 hostconfig.json文件

① 进入 docker 容器文件夹内

[root@single ~]# cd /var/lib/docker/containers/49db307d55334ffaccdf1d27958e5aa42e8d22cab14a38351d6df3446da8be56

② 修改 hostconfig.json 文件

[root@single 49db307d55334ffaccdf1d27958e5aa42e8d22cab14a38351d6df3446da8be56]# vim hostconfig.json 

只展示了需要修改的部分,内容展示如下:

...
    "PortBindings":{
        "6379/tcp":[
            {
                "HostIp":"",
                "HostPort":"16379"
            }
        ]
    },
...

如果在创建容器时没有指定端口映射,那么此JSON文件中 PortBindings 属性是个空的对象,如果创建容器时指定了端口映射,就如同JSON文件中一样。那么就可以修改映射了,例如将文中 16379修改为16380

"PortBindings":{
        "6379/tcp":[
            {
                "HostIp":"",
                "HostPort":"16380"
            }
        ]
    }

在很多文章中看到说需要修改 config.v2.json 文件,但是在我实际操作中,并不需要。修改过 hostconfig.json 文件后看了一眼 config.v2.json ,发现已经自动更新了

2.4 启动 docker 服务

[xxx@xxx ~]# systemctl start docker

2.5 启动容器

[xxx@xxx ~]# docker start redis

3. 完事

纸上得来终觉浅,绝知此事要躬行
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
10天前
|
Linux 虚拟化 数据安全/隐私保护
系统崩溃不用慌!VMware这个逆天功能竟能让CentOS一键回档?后悔药真实存在!
备份的重要性在于它能在系统出现异常或错误时,帮助我们快速恢复到正常状态,避免重新安装系统和配置环境。VMware 提供了两种备份方式:快照和克隆。 **快照**是保存虚拟机某一时刻的完整状态(包括内存、CPU、磁盘数据),便于快速回滚,适合临时保存状态。操作简单,可在系统运行时创建。 **克隆**则是复制整个虚拟机系统,侧重长期备份,需在系统关闭时进行。分为完整克隆和链接克隆,前者独立于源系统,占用更多空间,但更安全可靠。
43 17
系统崩溃不用慌!VMware这个逆天功能竟能让CentOS一键回档?后悔药真实存在!
|
1月前
|
Linux 应用服务中间件 nginx
CentOS系统下的软件安装与卸载
CentOS系统中安装及卸载软件,常用yum命令安装及卸载软件包。yum是基于RPM的软件包管理器,可用于在CentOS中安装、更新、查询和移除软件包。yum命令可以从指定服务器下载rpm包并安装,能自动解决依赖问题。
148 78
|
6天前
|
存储 安全 Linux
Centos 8系统ext4文件系统类型进行扩容缩容 (LVM)
通过使用这些技术和工具,可以有效管理CentOS 8系统上的存储资源,确保系统在高负载和高并发情况下的稳定运行。
27 9
|
1月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
83 20
|
2月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
221 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
3月前
|
运维 监控 安全
CentOS 7系统 OpenSSH和OpenSSL版本升级指南
本文详细介绍如何在CentOS 7系统上升级OpenSSH和OpenSSL至最新稳定版本(OpenSSH 9.6p1和OpenSSL 1.1.1w),解决多个已知安全漏洞(如CVE-2023-51767等)。涵盖环境说明、现存漏洞、升级准备、具体步骤及故障排查,确保服务器安全。建议先在测试环境验证,再应用于生产环境。
363 7
|
19天前
|
SQL 关系型数据库 MySQL
云服务器常用端口作用
了解云服务器常用端口的作用有助于高效管理资源、快速定位问题及更好地使用云服务。常见端口包括:21(FTP,文件传输)、22(SSH,远程连接Linux)、25(SMTP,发送邮件)、80(HTTP,网页服务)、110/143(POP3/IMAP,接收邮件)、443(HTTPS,加密网页)、1433(SQL Server)、3306(MySQL)、3389(RDP,远程访问Windows桌面)和8080(代理服务)。
42 2
|
25天前
|
存储 安全 网络安全
阿里云国际站:阿里云服务器端口配置
悟空云@CloudWuKong阿里云是全球领先的云计算服务提供商,为用户提供弹性计算、数据库、存储、网络安全等一系列云计算服务。在使用阿里云服务器时,合理配置端口非常重要,可以提高服务器安全性和稳定性。
|
8月前
|
弹性计算 应用服务中间件 Linux
阿里云服务器开放端口完整图文教程
笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080、443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端口号,任然无法访问端口号对应的应用程序,后面了解到原来还需要设置云服务器的「安全组规则」,开放相应的端口权限,服务端的接口才能真正开放。
867 1
|
8月前
|
弹性计算 运维 数据安全/隐私保护
云服务器 ECS产品使用问题之如何更改服务器的IP地址或端口号
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。