https://www.ng.bluemix.net/docs/containers/container_cli_reference_native-docker.html说cf ic run
支持-p
子命令。
但是,我尝试了很多时间用
绑定端口cf ic run -it --name container_name -p 80:8080 registry.../ns/image_name:tag
但是,端口80没有绑定,而是由docker暴露的默认端口,在本例中为8080。
这是一个错误,还是我做错了什么?
答案 0 :(得分:4)
您正在以错误的方式使用该命令。请查看cf ic run Documentation。如您所见,语法为:
cf ic run -p <hostPort>:<containerPort> registry.../ns/image_name:tag
这意味着如果要将容器上的端口80绑定到主机上的端口8080,您应该这样做:
cf ic run -p 8080:80 registry.../ns/image_name:tag
您遇到的行为是正确的:您实际上是将容器上的端口8080绑定到主机上的80,因此您在容器上看到8080已打开是正确的。
答案 1 :(得分:1)
你的run命令在容器上的8080端口和托管env上的80之间创建一个映射:如果你的容器暴露8080端口,我认为它应该仍然可以在容器env上访问