Docker introduit un logiciel pour automatiser le déploiement et la gestion des applications dans un environnement de virtualisation au niveau du système d’exploitation. Il permet d` »emballer » une application avec tout son environnement et ses dépendances dans un conteneur qui peut être déplacé sur n’importe quel système basé sur Linux avec prise en charge « cgroups » dans le noyau, et fournit un environnement de gestion de conteneurs.
Exemple1:installer un OS par exemple => ubuntu
docker pull ubuntu
Pour y acceder
docker run -it ubuntu
Exemple2 : Installer Mysql sur docker
docker run --name mysql-epsilon -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7
Pour lister les images installer
docker ps
docker exec -it bec bash
pour supprimer, utiliser la commande "docker rm". En y ajoutant les options "-vf", la suppression est forcée et l'espace disque est récupéré. Cela ne supprime pas les images. Vous devez ensuite utiliser la commande "docker rmi" en forçant la suppression pour également supprimer les images.
docker rm -vf bec
docker ps
confirmation de la suppression
Commencons d'abord par creer un projet Laravel
composer create-project --prefer-dist laravel/laravel epsilonDemo
creer une fichier
C est sur ce fichier que nous allons definir les définir les differents dependances de notre projet 😁😁😁😁😁
C est fini les "Pourquoi le projet ne marche pas chez moi 🤦♂️🤦♂️🤦♂️🤦♂️🤦♂️🤦♂️"
Avec Docker on est tous nikel.
C'est top ca.
version: '3.9'
networks:
laravel:
services:
nginx:
build:
context: .
dockerfile: docker/nginx.dockerfile
ports:
- 8098:80
volumes:
- ./:/var/www/html
links:
- fpm
networks:
- laravel
fpm:
build:
context: .
dockerfile: docker/fpm.dockerfile
volumes:
- ./:/var/www/html
links:
- db
networks:
- laravel
db:
image: mysql:5.7
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_USER=root
- MYSQL_PASSWORD=ok
- MYSQL_DATABASE=laravel
networks:
- laravel
Creer un dossier Doker sur votre projet & le fichier( nginx.dockerfile && fpm.dockerfile)
FROM nginx
ADD docker/conf/vhost.conf /etc/nginx/conf.d/default.conf
WORKDIR /var/www/html
FROM php:8.1-fpm
RUN apt-get update \
&& docker-php-ext-install pdo pdo_mysql
Creer un autre dossier sur le dossier Docker => conf Ce dossier permet de specifier la configuration de docker.
server {
listen 80;
server_name _;
root /var/www/html/public;
index index.php;
error_log /var/log/nginx/error.log;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass fpm:9000;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}
lancer la commande
docker-compose build
Ensuite demarrer les services .
docker-compose up -d
❤❤❤❤❤❤❤❤❤❤❤👏👏👏👏👏👏👏👏
Maintenant il est temps de verifier
docker ps
C'est fini On lance notre application sur le port spécifié => pour nous c est 8098