2017-10-10 107 views
-1

我在Docker中运行了Openshift。 没有任何端口明确从任何开放班次容器发布。码头集装箱中的Openshift在端口443上运行,但端口未公开

但无论如何 - 应用程序可以从主机,端口8443到达。
这怎么可能?

enter image description here

enter image description here

集群开始,使用OpenShift二进制 “OC”。该命令是oc cluster up 所以我不知道,哪些参数传递给docker。

但在这里我发现了一个HOWTO,关于直接启动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 
+1

你使用'--network = host'吗? – Henry

+1

你是怎么开始的?这是使用“oc集群”吗?这是正常的,它会暴露端口8443访问OpenShift Web控制台。 'oc cluster up'工具会将容器暴露在适当的端口上。图像中的EXPOSE语句只能用作文档,因为您仍然依赖于运行容器的任何内容来说明真正暴露的内容以及它在外部映射的内容。 –

+0

我扩展了有关如何启动群集的详细信息。使用'oc集群'。我不知道,一个容器可能会使用端口(这里是8443),并没有说明它暴露了端口。 – Skip

回答

0

通过@Henry的建议很可能因为使用--net=host这可能意味着容器能抢什么它需要的端口没有他们需要申报