【docker】修改現有容器的端口


不幸的是,通過DOCKER命令無法更改現有 RUNNING 容器的端口映射(從主機到容器的轉發端口)!

因此,在鏡像運行的時候或啟動端口的時候,要謹慎操作。

通過修改配置文件修改端口

  1. 停止容器
    docker stop <contanier ID>

  2. 停止docker服務
    systemctl stop docker

  3. 找到容器文件

    find / -name containers 
    ## centos 7
    ## 通常在:/var/lib/docker/containers/<container ID>/hostconfig.json中記錄了端口
    ## 修改它
    vi /var/lib/docker/containers/<container ID>/hostconfig.json
    
    "PortBindings":
    {
        "22/tcp": [           #代表 container 端口
        {
            "HostIp": "",
            "HostPort": "222"   #代表主機端口
        }],
        "3000/tcp": [           #代表 container 端口
        {
            "HostIp": "",
            # "HostPort": "3000"   #代表主機端口
    		"HostPort": "3001"
        }]
    },
    
  4. 啟動docker
    systemctl start docker

  5. 啟動container
    docker start <container ID>

參考鏈接:

https://ahelpme.com/software/docker/docker-change-the-port-mapping-of-an-existing-container/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM