🐳 A la découverte de Docker !
❓ Questions: en levant la main ou via le chat selon votre convenance
⚡ Je parle parfois vite ... N'hésitez pas à me questionner au fur et à mesure !
A quoi ressemble votre ordinateur après ces quelques mois de reconversion ?
A plus grand chose: j'ai dû changer mon ordinateur!
Plein de langages testés / tools installés: c'est le bazar
Moi ça va nickel, merci
J'ai une application avec une base de données.
Un·e camarade veut contribuer à ce projet.
Comment cette personne peut récupérer le projet sur sa machine et le faire démarrer ?
# Installer un serveur de requêtes - Apache / Nginx
apt-get install apache2
# Installer un serveur applicatif (PHP/Node...)
apt-get install php8.1-fpm
# Installer composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
composer install wordpress
# installation de docker sur Mac - https://docs.docker.com/desktop/install/mac-install/
sudo hdiutil attach Docker.dmg
sudo /Volumes/Docker/Docker.app/Contents/MacOS/install
sudo hdiutil detach /Volumes/Docker
# On se place sur son projet dockerisé
cd MonProjet/
# Tada 🎉
docker-compose up
Faciliter la création d'un environnement

Eviter les comportements différents d'un environnement à l'autre
docker image ls
docker push
docker container ls
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- ./wordpress:/var/www/html
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- ./db:/var/lib/mysql
- ./schema/:/docker-entrypoint-initdb.d
phpmyadmin:
image: phpmyadmin
container_name: phpmyadmin
restart: always
ports:
- 8081:80
volumes:
wordpress:
db:
schema:
🤹♀️ Démonstration !
FROM node:lts-buster-slim
ADD . /workdir
WORKDIR /workdir
EXPOSE 8888
RUN yarn install
CMD [ "yarn", "start" ]
docker build -t node-api-sample .
docker run -dp 127.0.0.1:8888:8888 node-api-sample
🤹♀️ Démonstration !