Docker Port Forwarding
Port forwarding is a process to redirect the communication of one address to other.
It is also known as Port Binding.
We can use -p
command to use port forwarding in our local Docker environment.
docker run -p 8000:8000 django-app
The first port number is the local machine port and followed by a :
is the container port number.
SO, the request from the container port are forwarded to the local/outside world in the docker environment.
Additionally, we need to expose the container port first. We can do that in the Dockerfile or by adding a -e
argument followed by the port to expose. This will open the port on container to forward the requests to the specified port in the -p
option.
In the Dockerfile, we can expose the port by adding the command EXPOSE 8000
, or any other port number.
<a class='prev' href='/django-app-from-scratch'>
<svg width="50px" height="50px" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.5 8.25L9.75 12L13.5 15.75" stroke="var(--prevnext-color-angle)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> </path>
</svg>
<div class='prevnext-text'>
<p class='prevnext-subtitle'>prev</p>
<p class='prevnext-title'>Django App from Scratch Using Docker with Debian Base Image</p>
</div>
</a>
<a class='next' href='/django-bulk-update-queryset'>
<div class='prevnext-text'>
<p class='prevnext-subtitle'>next</p>
<p class='prevnext-title'>Django Bulk Update QuerySet objects</p>
</div>
<svg width="50px" height="50px" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.5 15.75L14.25 12L10.5 8.25" stroke="var(--prevnext-color-angle)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>
</a>