zoukankan      html  css  js  c++  java
  • 【docker】追加docker容器端口映射的方法

    docker run可以指定端口映射,但是容器一旦生成,就没有一个命令可以直接修改。通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射。

    但这样太麻烦了。现在有新方案来解决掉:

    操作步骤:

    1 查看容器

    docker  ps -a

    2 停止容器

    docker stop f503

    3 停止docker服务

    systemctl stop docker

    4 修改文件

    vi   /var/lib/docker/containers/{container_id}/hostconfig.json

    找到 这个 PortBindings 值。在这个json集合里边追加新端口

    "PortBindings": {
         "80/tcp": [
             {
                 "HostIp": "",
                 "HostPort": "80"
             }
         ],
         "8888/tcp": [
             {
                 "HostIp": "",
                 "HostPort": "8888"
             } 
         ]
     }

    5 启动docker服务

    systemctl start docker

    6 启动容器

    docker start f503

    备注: 第4步修改文件要注意,如果config.v2.json里面也记录了端口,也要修改,

    原帖地址 : https://stackoverflow.com/questions/19335444/how-do-i-assign-a-port-mapping-to-an-existing-docker-container

    config.v2.json文件里边

    修改值 : config->ExposedPorts   和  networsettings->Ports , 参看下图

    "Config": {
        ....
        "ExposedPorts": {
            "80/tcp": {},
            "8888/tcp": {}
        },
        ....
    },
    "NetworkSettings": {
    ....
    "Ports": {
         "80/tcp": [
             {
                 "HostIp": "",
                 "HostPort": "80"
             }
         ],

  • 相关阅读:
    WPF TreeView IsExpanded 绑定不上的问题
    WPF TreeView BringIntoViewBehavior
    WPF ListBox的进阶使用(二)
    WPF ListBox的进阶使用(一)
    双缓冲队列解决WPF界面卡死
    C# 对接Https接口
    软件架构的六大设计原则
    FeignClient接口封装
    CentOS修改root密码
    并发编程的挑战(Java并发编程的艺术)
  • 原文地址:https://www.cnblogs.com/richerdyoung/p/10154753.html
Copyright © 2011-2022 走看看