Utiliser doker

De OSWiki
Sauter à la navigation Sauter à la recherche

Définition Wikipédia

Docker est un logiciel libre permettant de lancer des applications dans des conteneurs logiciels. [1]

Installation sous GNU/Linux ubuntu )

sudo apt update sudo apt install apt-transport-https ca-certificates xz-utils iptables aufs-tools git

Ajouter le dépôt et la clé GPG

 echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) edge" > /etc/apt/sources.list.d/docker.list
 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
 apt update
 apt-get install docker-ce

Pour limiter l'espace utilisé par un conteneur, ajouter dans /etc/default/grub

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

puis

sudo update-grub

Démarrer et activer

systemctl start docker
systemctl enable docker
shutdown -r now

Tester l'installation

docker run hello-world

Afficher la version et des infos

docker version

Le docker Hub

Magasin où les utilisateurs de docker peuvent partager leurs images

Comment trouver des images

docker search <nom du logiciel>

Les images

Gestion des images avec

 docker image [commande]

Télécharger une image

  • Commande :
docker image pull [nom image]:[tag]
  • Si on ne met pas le tag, on télécharge la dernière version

Lister les images

docker image ls

ou

docker image ls */*<mot>

Supprimer les images

  • Supprimer une image
docker image rm [nom Image ou ID image]:[tag]
  • Supprimer toutes les images
 docker image prune -a

Les conteneurs

Lancer, arrêter et lister des conteneurs

Lancer / créer un conteneur

docker container run [OPTIONS] IMAGE [COMMANDE]

Lister les contneurs

docker container ls -a

Relancer un conteneur

docker container start   <numéro>

en avant plan

docker container start -a <numéro>

Relancer le conteneur

docker container restart <numéro>

Arrêter un conteneur

docker container stop <numéro>

Supprimer un container

  • Commande
 docker container rm [conteneur]
  • Supprimer un container qui tourne
 docker container rm -f [conteneur]
  • Supprimer tous les container
 docker container prune

Les logs

docker container logs [conteneur]
docker container logs --tail=20 [conteneur]
docker container logs -f [conteneur]

Opetions utilises

  • -t : fournit un terminal au docker ;
  • -i : permet d'écrire dans le conteneur (couplé à -t) ;
  • -d : exécute le conteneur en arrière-plan ;
  • -v : permet de monter un répertoire local sur le conteneur ;
  • -p : permet de binder un port sur le conteneur vers un port sur le host ;
  • -e : permet l'ajout d'une variable d'environnement ;
  • --name : donne un nom au conteneur ;
  • --rm : détruit le conteneur une fois terminé ;
  • -w : choisit le répertoire courant (dans le conteneur) / répertoire de travail;
  • --link : permet de faire un lien entre deux conteneurs.


Commandes utiles :

  • pwd : monter le répertoire courant ...

Utilisations

Installer une application : Lutim

Charger l'image

 docker image pull xataz/lutim

Lancer le conteneur

docker run -d --name lutim -p 8181:8181 -v /docker/config/lutim/data:/usr/lutim/data -v /docker/data/lutim:/usr/lutim/files  -e UID=1001 -e GID=1001 -e WEBROOT=/lutim -e SECRET=$(date +%s | md5sum | head -c 32) -e CONTACT=contact@mydomain.com -e MAX_FILE_SIZE=250000000 -e DEFAULT_DELAY=1  -e MAX_DELAY=1  xataz/lutim
  • 250000000 bits => 24,4Mo
  • Ouvrir et redirigier le port
  • Changer le mot de passe
  • Lancer en arrière plan
  • Vérification du lancement
docker ps
  • Vérification des variables d'environnement
docker container inspect lutim

Lancement automatique au reboot

Avec Cron

@reboot  docker container start <id du conteneur>

Quelques repères

Dossier docker dans Ubuntu

  • Dossier racine /docker (bdd)
  • Dossiers enfants
config
data
  • Dossier racine :/var/lib/docker
  • Dossiers enfants :
builder
buildkit
containers
image
network
overlay2
plugins
runtimes
swarm
tmp
trust
volumes

Liens utiles et sources

https://www.docker.com/

https://xataz.developpez.com/tutoriels/utilisation-docker/