如何修改从inspect命令获取的docker image config

时间:2017-04-05 03:18:02

标签: docker

我为openvpn创建了一个泊坞窗图片。但是,当我使用docker inspect命令从此图像获取配置时,我总是在ContainerConfig中看到此设置:

"ContainerConfig": {
        "Hostname": "cfd8618fa650",          
        "ExposedPorts": {
            "11194/tcp": {}
        },

这不好,因为每次运行此图像时,即使我不想,它也会自动显示端口11194。有没有人知道如何删除此配置?

1 个答案:

答案 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转发规则等等。