With Docker widely adopted in development environments, properly configuring the ports for PHP services is essential. Port configuration ensures external requests can correctly reach the PHP service and forms the basis for improving application security and performance.
In the Dockerfile, the EXPOSE instruction is used to declare the port on which the container listens. For example, if your PHP service runs on port 9000, add the following line:
<span class="fun">EXPOSE 9000</span>
This step only declares the port; actual port mapping must be specified when running the container.
You can map the container’s internal port to a host port using the -p option. For example, to map container port 9000 to host port 8000, use:
<span class="fun">docker run -d -p 8000:9000 your-php-image</span>
After mapping, you can access your PHP service at http://localhost:8000.
If you want to change the default listening port of the PHP service, modify the listen directive in the PHP-FPM configuration file www.conf:
<span class="fun">listen = 9000</span>
Remember to update the EXPOSE instruction in your Dockerfile accordingly to reflect the new port.
When managing services using docker-compose, you can configure port mappings in the docker-compose.yml file as follows:
services:
php-app:
image: your-php-image
ports:
- "8000:9000"
Proper port configuration for PHP services in Docker is fundamental for smooth application operation. Whether declaring ports in Dockerfile, mapping ports at container runtime, or configuring them via docker-compose, attention to detail is key. This guide aims to provide clear direction and practical reference for your Docker PHP service deployments.