docker容器启动后如何修改或添加端口

 更新时间:2024年04月01日 09:51:00   作者:Bejpse  
这篇文章主要介绍了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如何解决tomcat容器启动成功,无法访问的问题

    Docker如何解决tomcat容器启动成功,无法访问的问题

    这篇文章主要介绍了Docker如何解决tomcat容器启动成功,无法访问的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 超详细Docker Desktop下安装rocketmq的教程

    超详细Docker Desktop下安装rocketmq的教程

    这篇文章主要介绍了Docker Desktop下安装rocketmq,本文内容通过图文操作命令给大家讲解的非常详细,需要的朋友可以参考下
    2021-10-10
  • centos7搭建docker私人仓库的方法(kubernetes)

    centos7搭建docker私人仓库的方法(kubernetes)

    这篇文章主要介绍了centos7搭建docker私人仓库的方法(kubernetes),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 详解Docker与FastDFS的安装命令及使用

    详解Docker与FastDFS的安装命令及使用

    这篇文章主要介绍了详解Docker与FastDFS的安装命令及使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Deepin使用docker安装mysql数据库过程详解

    Deepin使用docker安装mysql数据库过程详解

    这篇文章主要介绍了Deepin使用docker安装mysql数据库过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • 如何清理docker产生的垃圾文件

    如何清理docker产生的垃圾文件

    这篇文章主要介绍了如何清理docker产生的垃圾文件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • docker搭建CMS点播系统带播放器功能

    docker搭建CMS点播系统带播放器功能

    熟悉docker的童鞋都知道,安装是非常的便利的,也可以在线体验的,今天通过本文给大家介绍docker搭建CMS点播系统带播放器功能,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • 使用docker的python基础镜像时要指定patch版本原理

    使用docker的python基础镜像时要指定patch版本原理

    这篇文章主要为大家介绍了使用docker的python基础镜像时要指定patch版本原理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 解决执行docker daemon命令时出错的问题

    解决执行docker daemon命令时出错的问题

    daemon 这是docker 操作中十分常用的命令指定项,最近在运行docker daemon命令却发生了错误,后来通过测试各种方法终于解决了,现在将方法分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-11-11
  • docker搭建redis主从哨兵集群的实现步骤

    docker搭建redis主从哨兵集群的实现步骤

    本文主要介绍了docker搭建redis主从哨兵集群的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论