LaravelDocker
Révision datée du 11 avril 2023 à 16:44 par Administrateur (discussion | contributions) (Page créée avec « =Création de l'image Docker PHP7.4= Nous allons créer une image permettant de développer en PHP 7.4 et Laravel 6 sur un Ubuntu plus récent.<br> Il faut dans l'image php7.4, php7.4-mbstring, php7.4-mysql,... Créer un dossier qui va héberger l'environnement de développement '''/home/user/dev_web/imgdocker''' Créer un fichier '''dockerfile''' avec les éléments suivants : <pre> FROM ubuntu:focal ARG DEBIAN_FRONTEND=noninteractive ENV TZ=UTC RUN apt-get update... »)
Création de l'image Docker PHP7.4
Nous allons créer une image permettant de développer en PHP 7.4 et Laravel 6 sur un Ubuntu plus récent.
Il faut dans l'image php7.4, php7.4-mbstring, php7.4-mysql,...
Créer un dossier qui va héberger l'environnement de développement /home/user/dev_web/imgdocker Créer un fichier dockerfile avec les éléments suivants :
FROM ubuntu:focal ARG DEBIAN_FRONTEND=noninteractive ENV TZ=UTC RUN apt-get update && apt-get install -y tzdata && \ ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \ dpkg-reconfigure --frontend noninteractive tzdata RUN apt-get update && \ apt-get install -y apache2 php7.4 libapache2-mod-php7.4 php7.4-cli php7.4-mbstring php7.4-xml php7.4-zip php7.4-curl php7.4-mysql RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ php composer-setup.php --install-dir=/usr/local/bin --filename=composer COPY 000-default.conf /etc/apache2/sites-available/000-default.conf RUN a2enmod rewrite EXPOSE 80 CMD ["apache2ctl", "-D", "FOREGROUND"]
Où 000-default.conf est le fichier de configuration du serveur Apache qu'il faudra mettre à l'emplacement du dockerfile.
Lancer la commande docker build -t ifxwebdev .
Création du conteneur Docker
version: '3' services: web: image: 'ifxwebdev' ports: - '80:80' networks: - ifxnetdev depends_on: - mariadb volumes: - '/home/parrot/workspaces/dev_web/accesban:/var/www/html' networks: - ifxnetdev depends_on: - db db: image: 'mariadb:latest' restart: 'always' ports: - '3306:3306' environment: MYSQL_ROOT_PASSWORD: 'sqlpass' MYSQL_ROOT_HOST: 'localhost' MYSQL_DATABASE: 'accesban' MYSQL_USER: 'useracceshye' MYSQL_PASSWORD: 'mdpacces' MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' volumes: - './mysql:/var/lib/mysql' networks: - ifxnetdev healthcheck: test: - CMD - mysqladmin - ping - '-pmdpacces' retries: 3 timeout: 5s networks: ifxnetdev: driver: bridge volumes: ifx-mariadb: driver: local