Docker容器启动后修改或添加端口的方法
本文主要内容是关于 Docker 容器启动后如何修改或添加端口,希望对大家有帮助。
在 docker run 创建并运行容器的时候,可以通过-p 指定端口映射规则。
但是,大家可能也会遇到需要继续添加 2 个或者 3 个端口进行映射的问题。
一、通常间接的办法
保存镜像,再创建一个新的容器,在创建时指定多个端口映射。
1、停止 docker 容器
docker stop container01
2、commit 该 docker 容器
docker commit container01 new_image:tag
3、用前一步新生成的镜像重新起一个容器,其中1888是服务器的端口,8888是容器的端口
docker run --name container02 -p 1888:8888 new_image:tag
这种方式的优点是不会影响统一宿主机上的其他容器,缺点是管理起来显得比较乱。
二、修改文件端口,重启 docker 服务
1、停止 docker(一定要先停止 dokcer,不然直接修改配置文件不会生效)
systemctl stop docker
2、进入 docker 文件夹,找到容器的位置
如果不是 root 用户查看的话,可能会出现权限不够的问题,可以通过 chown 更改文件夹权限,docker 的默认文件夹应该是/var/lib/docker,这里我已经将默认文件夹的位置移动到了/sda1/docker/docker:
sudo chown -R apr:user /sda1/docker/docker
其中,apr 表示用户当前所在的用户组,user 表示用户账户名称,可以使用groups user查看用户 user 所在的用户组
3、进入 docker 目录下的 containner 文件夹

4、在这里能看到已经创建的容器 id 文件夹
在 terminal 中输入docker ps -a查看需要修改的容器 ID:

5、进入对应的容器文件夹
![]()
6、先修改这个容器的 hostconfig.json 文件中的端口
如果之前没有端口映射,应该有这样的一段:
“PortBindings”:{}
增加一个映射,这样写:
“PortBindings”:{“8888/tcp”:[{“HostIp”:””,“HostPort”:“1888”}]}
前一个数字是容器端口,后一个是宿主机端口。将宿主机的 1888 端口映射到容器的 8888 端口。
如果增加多个,就是:
“PortBindings”:{“8888/tcp”:[{“HostIp”:””,“HostPort”:“1888”}],“6006/tcp”:[{“HostIp”:””,“HostPort”:“1006”}]}
将宿主机的 1888 和 1006 端口映射到容器的 8888 和 6006 端口。
而修改现有端口映射更简单,把端口号改掉就行。
7、如果 config.v2.json 里面也记录了端口,需要修改 ExportPorts

8、重启 docker 服务
systemctl restart docker
9、查看配置项已经修改成功
docker inspect CONTAINER ID

以上就是关于 Docker 容器启动后怎么修改或添加端口的方法,纯属为个人经验,希望能给大家一个参考。
以上关于Docker容器启动后修改或添加端口的方法的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » Docker容器启动后修改或添加端口的方法
微信
支付宝