Docker
ObjectifCommande
Voir les images locales. docker images
Voir les container. docker ps -a
Voir les logs d'un container docker logs <id>
Démarrer un container docker start <id>
Démarrer un container avec console docker start --attach <name>
docker run +it <moncontainer> /bin/bash
docker run --tty --interactive debian:7
Stopper un container. docker stop <id>
Voir la config docker inspect <id>
Voir ce qui est dispo en distant docker search nginx
Ramener en local cette image docker pull nginx
Créer et démarrer un container docker run -d --name Serveur nginx:latest
Lancer un container et le rendre dispo docker run -d -p 9876:80 --name=MonWebserver nginx:latest
Démarrer un shell sur le container docker exec -ti <id> /bin/bash
docker exec -ti MonWebserver /bin/bash
docker exec MonWebserver ls -al
Supprimer une image locale docker rmi <REPOSITORY>-<tag>
Supprimer un container docker rm <id>
Voir les info d'un container docker inspect <id>
Voir ip d'un container docker inspect <id> | grep IPAddress
Création d'image. docker create --tty --interactive --name="monImage" debian:7
Supprimer docker actifs docker rm 'docker ps -a -q'
Construire depuis un Dockerfile docker build -t myapache .
Les principales directives des fichiers Dockerfiles :


MAINTAINER : nom et courriel de mainteneur du conteneur ;
FROM : image de base (Ubuntu, Debian) ;
VOLUME : point de montage ;
RUN : commande à exécuter pour installer le conteneur ;
ENTRYPOINT : commande qui s’exécute au démarrage du conteneur (une seule sera exécutée) ;
CMD : commande qui s’exécute au démarrage du conteneur ;
ADD : copier un fichier du répertoire courant dans le système de fichiers du conteneur ;
USER : utilisateur qui exécute les commandes dans le conteneur ;
EXPOSE : port(s) à exposer à l’extérieur.
APACHE PHP docker run -d -p 81:80 -v /home/radern/monsite:/var/www/html apache-php-dev
MYSQL docker pull mysql
docker run -d -p 3306:3306 -v /home/radern/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=azerty mysql
EXEMPLE COMPLET DE SERVEUR APACHE/PHP/MYSQL/PHPMYADMIN
Fichier dockerfile
Fichier fichier.conf (pour le virtualhost)
Fichier docker-compose.yml
Exemples pour tester (répertoire wwww à créer)
Fichier index.php (qui test la connection et affiche les infos)
Fichier create.php (qui crée une table SQL)
Fichier insert.php (qui rempli puis affiche une table SQL)
Charger un zip avec ces fichiersradweb.zip
Projet Disponible sur GitHubdockerphpmysql