Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== Docker ====== * [[https://jakub-m.github.io/2022/09/10/docker.html|Running Docker images without Docker]] * [[https://docker-curriculum.com|Docker for beginners]] * [[https://blog.stephane-robert.info/docs/conteneurs/moteurs-conteneurs/docker-network/|Comprendre le réseau Docker]] * [[https://tbhaxor.com/docker-containers-security/#__do_not_save__|Docker Containers Security]] * [[https://danlevy.net/docker-security-tips-for-self-hosting/|Essential Docker Security Tips for Self-Hosting]] ==== Utilisation basique ==== Pour lancer un shell dans un conteneur avec Debian Buster : <code bash> docker run -it debian:buster </code> Une fois dans le conteneur, pour utiliser efficacement ''apt'' : <code bash> DEBIAN_FRONTEND=noninteractive apt update </code> L'option ''-p 8000:8000'' (''hôte:conteneur'') permet de partager le port 8000. Du point de vue du conteneur, la machine hôte a l'IP 172.17.0.1 (Docker ajoute une interface réseau à la machine hôte). L'option ''%%--%%rm'' permet de supprimer le conteneur lorsqu'il est arrêté. === Support de l'UTF-8 === <code bash> apt install locales dpkg-reconfigure locales # choisir en_US.UTF-8 puis C.UTF-8 </code> ==== Arrêter / Stopper tous les containers ==== [[https://coderwall.com/p/ewk0mq/stop-remove-all-docker-containers|Source]] <code bash> docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) </code> ==== Rentrer dans un container déjà lancé ==== [[https://stackoverflow.com/questions/30172605/how-do-i-get-into-a-docker-containers-shell|Source]] Récupérer le nom du container : <code bash> docker ps </code> Puis : <code bash> docker exec -ti $name /bin/bash </code> ==== Partager un dossier ==== Utiliser l'option ''-v'', par exemple : <code bash> docker run -it --rm -v $PWD:/foo -w /foo debian </code> L'option ''-w'' permet de se place tout de suite dans le dossier indiqué une fois le conteneur lancé. ==== Copie de fichiers entre containers démarrés et hôte ==== [[https://stackoverflow.com/questions/22907231/how-to-copy-files-from-host-to-docker-container|Source]] <code bash> docker cp 77e7:/etc/php/8.1/fpm/php.ini . </code> ==== Lancer une application graphique ==== [[https://stackoverflow.com/questions/65642916/running-a-qt-gui-in-a-docker-container|Source]] <code bash> docker run -it --rm -e "DISPLAY=$DISPLAY" -v "$HOME/.Xauthority:/root/.Xauthority:ro" debian:latest </code> ==== Libérer de l'espace disque occupé par Docker ==== <code bash> sudo docker system prune -a --volumes </code> ==== Changer l'emplacement des données de Docker ==== * https://docs.docker.com/engine/reference/commandline/dockerd/ * [[https://stackoverflow.com/questions/36014554/how-to-change-the-default-location-for-docker-create-volume-command]] Créer le fichier ''/etc/docker/daemon.json'' : <code json> { "data-root": "/media/linux/docker/" } </code> Redémarrer le service: <code bash> sudo service docker restart </code> ==== Fonctionnement de Docker ==== * [[https://muhammadraza.me/2024/building-container-runtime-python/|Understanding Docker Internals: Building a Container Runtime in Python]] docker/accueil.txt Dernière modification : 2025/10/30 21:58de phsw