我在Docker中运行Openshift。 没有任何端口从任何打开的移位容器中明确发布。
但无论如何 - 应用程序可以通过端口8443从主机访问。
怎么可能?
使用OpenShift二进制文件“oc”启动集群。命令是oc cluster up
所以我不知道,哪些参数传递给了docker。
但是在这里我发现了一个关于直接启动OpenShift的方法,并且使用了这些参数:
$ sudo docker run -d --name "origin" \
--privileged --pid=host --net=host \
-v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys -v /sys/fs/cgroup:/sys/fs/cgroup:rw \
-v /var/lib/docker:/var/lib/docker:rw \
-v /var/lib/origin/openshift.local.volumes:/var/lib/origin/openshift.local.volumes:rslave \
openshift/origin start
答案 0 :(得分:0)
正如@Henry所建议的那样,很可能是因为使用了--net=host
,这可能意味着容器可以抓住它需要的端口,而不需要声明它们