|
|
# Installation de Docker
|
|
|
Procédure d'installation
|
|
|
|
|
|
Basé sur : [[Docker - Installation - Debian|https://docs.docker.com/engine/installation/linux/debian/]]
|
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
---
|
|
|
## Préprequis
|
|
|
|
|
|
* Architecture 64bits
|
|
|
* Kernel >= 3.10
|
|
|
* Si wheezy: backports
|
|
|
|
|
|
---
|
|
|
## Installation
|
|
|
|
|
|
### Nettoyage d'éventuelles anciennes install
|
|
|
# apt-get purge lxc-docker*
|
|
|
# apt-get purge docker.io*
|
|
|
|
|
|
### Support d'HTTPS par APT'
|
|
|
# apt-get update
|
|
|
# apt-get install apt-transport-https ca-certificates
|
|
|
|
|
|
### Récupération de la clef GPG
|
|
|
# apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
|
|
|
|
|
|
### Ajout du dépot docker
|
|
|
# nano /etc/apt/sources.list.d/docker.list
|
|
|
|
|
|
* si wheezy, ajouter :
|
|
|
|
|
|
deb https://apt.dockerproject.org/repo debian-wheezy main
|
|
|
* si jessie, ajouter :
|
|
|
|
|
|
deb https://apt.dockerproject.org/repo debian-jessie main
|
|
|
|
|
|
### Vérification
|
|
|
# apt-get update
|
|
|
# apt-cache policy docker-engine
|
|
|
|
|
|
### Installation
|
|
|
# mkdir /srv/docker
|
|
|
# nano /etc/fstab
|
|
|
|
|
|
[Ajouter]
|
|
|
/srv/docker /var/lib/docker none defaults,bind 0 0
|
|
|
|
|
|
# mount /srv/docker
|
|
|
# apt-get install docker-engine
|
|
|
|
|
|
### Activer docker
|
|
|
* Wheezy
|
|
|
|
|
|
# service docker start
|
|
|
|
|
|
* Jessie
|
|
|
|
|
|
# systemctl enable docker
|
|
|
# systemctl start docker
|
|
|
|
|
|
### Vérification
|
|
|
# docker run hello-world
|
|
|
|
|
|
---
|
|
|
## Opérations de base
|
|
|
### Chercher une image
|
|
|
# docker search <expression>
|
|
|
|
|
|
### Télécharger une image
|
|
|
# docker pull <image>
|
|
|
|
|
|
|
|
|
### Démarrer une image
|
|
|
sources : https://docs.docker.com/engine/userguide/containers/dockerimages/
|
|
|
|
|
|
# docker run -t -i [--name <identifiant>] <image>:<tag> [<command>]
|
|
|
|
|
|
L'identifiant est le nom que l'on souhaite donner à l'image, sinon il en est généré un automatiquement
|
|
|
|
|
|
### Mettre à jour et commit une image existante
|
|
|
1. Créer un container à partir de l'image
|
|
|
|
|
|
# docker run -t -i <image> /bin/bash
|
|
|
2. Modifier l'image
|
|
|
|
|
|
# <commandes bash>
|
|
|
3. Sortir de l'image
|
|
|
|
|
|
# exit (ou CTRL+D)
|
|
|
4. Créer une image à partir du container modifié
|
|
|
|
|
|
# docker commit -m "commit message" -a "author name" <container-id> itopie/<imagename>:<tag>
|
|
|
5. Démarrer l'image
|
|
|
|
|
|
# docker run -t -i itopie/<imagename>:<tag> /bin/bash
|
|
|
|
|
|
### Voir les containers
|
|
|
# docker ps -a
|
|
|
|
|
|
### Intervenir dans un container:
|
|
|
# docker exec -it nom_du_container /bin/bash
|
|
|
|
|
|
### Voir les images en stock
|
|
|
# docker images
|
|
|
|
|
|
---
|
|
|
## Procédures pour containers spécifiques
|
|
|
|
|
|
* [[NGINX Remote Proxy|docker/nginx-remote-proxy]]
|
|
|
* [[Gitlab|docker/gitlab]]
|
|
|
* [[PostgreSQL|docker/postgresql]]
|
|
|
* [[Odoo|docker/odoo]]
|
|
|
|
|
|
---
|
|
|
## Dockerfiles
|
|
|
NIY
|
|
|
|
|
|
---
|
|
|
## Désinstallation
|
|
|
# apt-get purge docker-engine
|
|
|
# apt-get autoremove
|
|
|
Pour effacer les containers, volumes et images :
|
|
|
|
|
|
# rm -rf /var/lib/docker |