一、需求场景

  • 当我们的宿主机端口号被占用,想修改为另一个端口号去映射时
  • 或者要增加一个端口映射时

二、添加端口映射

2.1 关闭docker 服务

# 修改文件之前,一定先关闭docker服务,否则将不生效(重点)

$ systemctl stop docker

2.2 查找配置文件路径

# 端口、外部域名映射修改文件名称

hostconfig.jsonconfig.v2.json

# 有两种方式查找 配置文件路径

  • 通过find命令

    $ find / -name 'hostconfig*'
    

    image-20251105094856864

  • 通过docker inspect 命令(须先不执行2.1关闭docker,查找到文件路径后再关闭)

    image-20251105095124809

    获取到要修改的配置文件:

image-20251105102211517

2.3 修改hostconfig.json文件内容

  • 查看hostconfig.json
# 安装jq(json格式化工具) ,无需重启直接用
$ yum install jq
# json格式打开hostconfig.json文件
$ jq . hostconfig.json

image-20251105095542334

  • 修改hostconfig.json
$ vi hostconfig.json

image-20251105100337994

  • 查看hostconfig.json
$ jq . hostconfig.json

image-20251105100510417

2.4 修改config.v2.json文件内容

  • 查看config.v2.json
$ jq . config.v2.json

image-20251105102853221

  • 修改config.v2.json
$ vi config.v2.json

image-20251105102744863

  • 查看config.v2.json
$ jq . config.v2.json

image-20251105102652247

2.5 重启docker

$ systemctl daemon-reload
$ sytemctl restart docker

2.6 查看修改是否生效

 $ docker inspect 容器id | less

image-20251105100655786

修改前:

image-20251105100755842

修改后:

image-20251105103156610