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
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 :)Per the docker.io documentation: https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/
Default port redirects can be built into a container with the EXPOSE build command.