• 【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"
             }
         ],

  • 相关阅读:
    scheme中的fold-left和fold-right
    test
    2018.4.24-ml笔记(多元线性回归)
    2018.4.23-ml笔记(线性回归、梯度下降)
    springboot shiro开启注释
    Spring杂记BeanFactory之getBean方法
    docker搭建nginx+springboot集群
    springboot属性注入转化为对象
    mac下nginx搭建
    mybatis随笔五之Executor
  • 原文地址:https://www.cnblogs.com/richerdyoung/p/10154753.html
Copyright © 2020-2023  润新知