所有的docker网络端口都不常见?

时间:2016-10-15 13:07:05

标签: docker docker-container

我创建了两个docker网络

  1. chnetwork

    <html>
        <head>
            <script type="text/javascript" src="http://code.jquery.com/jquery-3.1.1.min.js"></script>
        </head>
        <body>
            <div class="form-group">
                <p>
                    <input type="radio" 
                           class="flat" 
                           name="botsign" 
                           id="signature" 
                           value="show" 
                           checked="checked"/>
                    Show Signature
                    <br><br>
                    <input type="radio" 
                           class="flat" 
                           name="botsign" 
                           id="signature" 
                           value="hide" />
                    Hide Signature
                </p>
            </div>
            <div id="Sigbox">
                hello i'm your sign box
            </div>
            <script>
                jQuery("input[name='botsign']").change(function () {
                    if (jQuery(this).val() == 'show') {
                        jQuery("#Sigbox").show();
                    } else {
                        jQuery("#Sigbox").hide();
                    }
                });
            </script>
        </body>
    </html>
    
  2. 内部网络

     docker network create --subnet=172.19.0.0/16 chnetwork
    
  3. 创建docker容器时我使用 chnetwork

     docker network  create --internal --subnet 10.1.1.0/24 internal-network
    

    稍后我更改为内部网络并断开容器与 chnetwork

    docker run -it -d --name containerone -h www.cone.net -v /var/www/html -p 3006:80 --net chnetwork --ip 172.19.0.40 --privileged magento
    

    现在问题是 docker ps 命令不显示该容器的端口,我的意思是在内部网络中无法访问端口。

    当我将网络更改为 chnetwork 时,只有 docker ps 显示端口。我需要为端口做什么才能在所有的docker网络中访问?

1 个答案:

答案 0 :(得分:3)

这似乎是内部网络的行为。由于连接到容器的唯一网络是不允许外部流量的内部网络,因此容器在设计上变得孤立。要发布端口,您需要将容器连接到非内部桥接网络。只要将非内部桥接网络连接到容器,就会看到已发布的端口重新出现。