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