Basic example of making a docker image containing a built-in php server.
Let's make it inside a test
dir.
mkdir test
cd test
Make a file named Dockerfile
inside this test
directory
with the following content:
FROM php:8.1-cli
RUN docker-php-ext-install pdo_mysql
COPY . /app
WORKDIR /app
CMD [ "./serv"]
EXPOSE 8000
The above Dockerfile
adds the extension pdo_mysql
to the docker image.
You may add other extensions.
Now build the image from the current directory:
docker build -t php-server .
You will notice the CMD
in the above is ./serv
.
This is the entrypoint when the container is run
.
This could look something like this:
#!/bin/sh
php -S localhost:8000 -t .
Make this file executable:
chmod +x ./serv
Save the serv
command inside the test
dir
(or inside any other dir where you will run the image).
Also make an index.php
file inside the test
dir
(or inside any other dir where you will run the image) :
<?php
echo "Hello world!";
Now run the image in this directory:
docker run -it -v $PWD:/app --network=host --rm --name test-server php-server
Now you can vist http://localhost:8000
This page has been requested 2281 times