我创建了两个docker网络
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>
内部网络
docker network create --subnet=172.19.0.0/16 chnetwork
创建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网络中访问?
答案 0 :(得分:3)
这似乎是内部网络的行为。由于连接到容器的唯一网络是不允许外部流量的内部网络,因此容器在设计上变得孤立。要发布端口,您需要将容器连接到非内部桥接网络。只要将非内部桥接网络连接到容器,就会看到已发布的端口重新出现。