How to assign as static port to a container?

2019-01-24 05:10发布

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

标签: port docker
2条回答
神经病院院长
2楼-- · 2019-01-24 05:50

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 :)

查看更多
疯言疯语
3楼-- · 2019-01-24 05:54

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.

查看更多
登录 后发表回答