Hello World din PHP și Docker

Cuprins

Introducere

Pentru lucrul la acest exercițiu aveți nevoie de Docker.

Instrucțiunile din acest exercițiu sunt pentru GNU/Linux. Acestea ar trebui să funcționeze și pe Mac OS, dar nu au fost testate pe acest sistem de operare. Dacă utilizați sistemul de operare Windows, activați Windows Subsystem for Linux și integrarea WSL cu Docker; apoi utilizați consola Bash pentru a rula comenzile din acest exercițiu.

Pregătirea mediului de lucru

Crearea directorului pentru codul-sursă

mkdir -p /tmp/tehnologii-web/

Rularea unui script PHP într-un container Docker

Descărcăm imaginea php:8.2-cli

docker pull php:8.2-cli

Creăm un script

echo "<?php echo \"Hello World!\" ?>" > /tmp/tehnologii-web/hw.php

Verificăm că scriptul a fost creat

ls -al /tmp/tehnologii-web/

Rulăm scriptul într-un container

cd /tmp/tehnologii-web/ && \
docker run \
       -it \
       --rm \
       --name my-running-script \
       -v "$PWD":/tmp/tehnologii-web \
       -w /tmp/tehnologii-web \
       php:8.2-cli php hw.php

Construirea unei imagini Docker folosind Dockerfile

Descărcăm imaginea php:8.2-apache

docker pull php:8.2-apache

Creăm o pagină

echo "<!DOCTYPE html>
<html>
  <body>
    <?php echo \"Hello world!\" ?>
  </body>
</html>
" > /tmp/tehnologii-web/index.php

Verificăm dacă scriptul PHP a fost creat

ls -al /tmp/tehnologii-web/

Creăm fișierul Dockerfile

echo "FROM php:8.2-apache
COPY index.php /var/www/html/
" > /tmp/tehnologii-web/Dockerfile

Construim imaginea Docker și rulăm aplicația într-un container

cd /tmp/tehnologii-web/ && \
docker build -t hello-world-php . && \
docker run -d -p 8081:80 --name hw-app-container hello-world-php

Aplicația PHP poate fi accesată la adresa http://localhost:8081/.

Oprim containerul și ștergem imaginea

docker stop hw-app-container && \
    docker rm hw-app-container && \
    docker rmi localhost/hello-world-php

Resurse utile

Autor: Petru Rebeja

Validate