Docker上的端口
有没有办法将端口绑定到容器,而不通过运行命令传递参数? 我不喜欢用'docker run'命令来启动我的容器,所以使用-p参数不是我的select。 我喜欢用'docker start containername'命令启动我的容器。 我想指定docker服务器的主机名与端口号( http:// dockerserver:8081 ),然后这应该被转发到我的容器的应用程序正在侦听端口8081.我的设置是在Azure上,但很漂亮基本的,所以Azure docker插件看起来有点像矫枉过正。 我读了有关的暴露命令,但似乎仍然需要使用“docker run -p”命令从外部访问容器。 任何build议将非常感激。
docker run
只是docker create
+ docker start
的快捷方式。 在创build容器时需要暴露端口,所以-p
选项在docker create中可用:
docker create -d -p 80:80 --name web nginx:alpine docker start web
端口发布只能做端口。
如果你想让主机名传递给容器,你需要用一个命令选项或(更可能)一个环境variables来执行 – 在Dockerfile中用ENV
定义,并在docker create中用-e
传递。