How to assign as static port to a container?

这一生的挚爱 提交于 2019-12-17 19:18:02

问题


I want to assign a container a port, so that it gets the same port after every restart of the container.

Example: I have a container, which has an Apache in it. The Apache runs on port 80 inside the container. Now, after starting the container, docker assigns a host port to the container port, for example: 49154 -> 80. But the host port changes after restart, depending on the number of running containers. I tried to specify the port in the config.json file of the container, but it gets overwritten.

Is it possible to specify the host port manually?

Thanks in advance and best regards, Chris


回答1:


Per the docker.io documentation: https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/

$ sudo docker run -p 80:80 <image> <cmd>

Default port redirects can be built into a container with the EXPOSE build command.




回答2:


When you start docker, you can use the '-p' parameter.

docker run -p 80 yourimage apache2 will do what you currently have.

Now, you can specify ':' to make this port static:

docker run -p :80 -p :443 yourimage apache2

If you are using a Dockerfile with the EXPOSE instruction, it is the same thing :)



来源:https://stackoverflow.com/questions/16958729/how-to-assign-as-static-port-to-a-container

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!