我为openvpn
创建了一个泊坞窗图片。但是,当我使用docker inspect命令从此图像获取配置时,我总是在ContainerConfig
中看到此设置:
"ContainerConfig": {
"Hostname": "cfd8618fa650",
"ExposedPorts": {
"11194/tcp": {}
},
这不好,因为每次运行此图像时,即使我不想,它也会自动显示端口11194
。有没有人知道如何删除此配置?
答案 0 :(得分:0)
请注意11194是默认的OpenVpn端口,因此Docker公开它是很正常的。
无论如何,如果你有Dockerfile,显然你可以构建一个新的图像,从Dockerfile本身删除EXPOSE 11194
行。
但是如果您直接从回购中运行图像,或者无法移除容器,则会暴露端口,但您可以将其绑定到特定的IP。
因为端口映射-p
格式可以是
ip:hostPort:containerPort | ip :: containerPort | HOSTPORT:containerPort | containerPort
您可以将主机端口绑定到单个主机(例如localhost),而不是绑定到全世界,例如
docker run -p 127.0.0.1:11194:11194 ...
因此,端口11194(或您在本地分配的任何端口号)只能从localhost访问。
否则,您可以通过iptables
或其他防火墙关闭端口。
网站Docker and IPtables解释了docker端口绑定,iptables转发规则等等。