Docker : Différence entre versions
m |
m |
||
| Ligne 57 : | Ligne 57 : | ||
Ajouter le groupe docker a l'utilisateur | Ajouter le groupe docker a l'utilisateur | ||
$ sudo usermod -a -G docker myusername | $ sudo usermod -a -G docker myusername | ||
| + | |||
| + | == Trouver les images dépendant d'une image. | ||
| + | |||
| + | Cas d'usage: supprimer une image retourne l'erreur "image has dependent child images" | ||
| + | $ docker image rm 7f6c67ae7dae | ||
| + | Error response from daemon: conflict: unable to delete 7f6c67ae7dae (cannot be forced) - image has dependent child images | ||
| + | |||
| + | définir la fonction (ex dans bashrc) | ||
| + | docker_image_desc() { | ||
| + | for image in $(docker images --quiet --filter "since=${1}"); do | ||
| + | if [ $(docker history --quiet ${image} | grep ${1}) ]; then | ||
| + | docker_image_desc "${image}" | ||
| + | fi | ||
| + | done | ||
| + | echo "${1}" | ||
| + | } | ||
| + | |||
| + | et: | ||
| + | $ docker_image_desc 7f6c67ae7dae | ||
| + | 76b749bf3727 | ||
| + | 7f6c67ae7dae | ||
[[Category:Containers]] | [[Category:Containers]] | ||
[[Category:Docker]] | [[Category:Docker]] | ||
[[Category:Tips&Tricks]] | [[Category:Tips&Tricks]] | ||
Version du 20 novembre 2020 à 09:07
Sommaire
Docker tips & tricks
commandes docker-ce
instances
- démarrer :
$ docker run <image> $ docker start [-ai] <image>
- demarrer en interactif avec un shell (ne lance pas l'éventuelle commande CMD).
$ docker run -it <image> sh
- arrêter:
$ docker stop <image>
images
- push/pull :
$ docker pull <image>
nettoyage
- supprimer les ressources inutiles :
$ docker system prune
Build images
Dockerfile
VOLUME - partage de volume avec le conteneur
Dans le Dockerfile:
VOLUME /app/logs /app/ro_data RUN mkdir -p /app/logs CMD find . /app -ls > /app/logs/output.txt
A l'execution :
$ docker run -v $(pwd)/logs:/app/logs $(pwd)/ro_data:/app/ro_data:ro myimg
L'image voit le contenu du répertoire logs, et les logs écrits dedans donc persistants. L'image voit le contenu du répertoire ro_data en lecture seule.
docker-compose
commandes
- docker-compose up -d vous permettra de démarrer l'ensemble des conteneurs en arrière-plan ;
- docker-compose ps vous permettra de voir le status de l'ensemble de votre stack ;
- docker-compose logs -f --tail 5 vous permettra d'afficher les logs de votre stack ;
- docker-compose stop vous permettra d'arrêter l'ensemble des services d'une stack ;
- docker-compose down vous permettra de détruire l'ensemble des ressources d'une stack ;
- docker-compose config vous permettra de valider la syntaxe de votre fichier docker-compose.yml.
Astuces divers points
commandes docker sans sudo
Message d'erreur:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/json: dial unix /var/run/docker.sock: connect: permission denied $ ls -l /var/run/docker.sock srw-rw----. 1 root docker 0 Nov 17 14:29 /var/run/docker.sock
Ajouter le groupe docker a l'utilisateur
$ sudo usermod -a -G docker myusername
== Trouver les images dépendant d'une image.
Cas d'usage: supprimer une image retourne l'erreur "image has dependent child images"
$ docker image rm 7f6c67ae7dae Error response from daemon: conflict: unable to delete 7f6c67ae7dae (cannot be forced) - image has dependent child images
définir la fonction (ex dans bashrc)
docker_image_desc() {
for image in $(docker images --quiet --filter "since=${1}"); do
if [ $(docker history --quiet ${image} | grep ${1}) ]; then
docker_image_desc "${image}"
fi
done
echo "${1}"
}
et:
$ docker_image_desc 7f6c67ae7dae 76b749bf3727 7f6c67ae7dae