informatique:docker
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
informatique:docker [15/11/2016 14:31] – [Docker Machine] Rancher cyrille | informatique:docker [05/10/2023 17:42] – [openssh] cyrille | ||
---|---|---|---|
Ligne 38: | Ligne 38: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | |||
+ | [[https:// | ||
Cheat sheets: | Cheat sheets: | ||
Ligne 86: | Ligne 88: | ||
</ | </ | ||
+ | if you are running short-term foreground processes, add '' | ||
+ | |||
+ | Voir [[https:// | ||
=== docker start === | === docker start === | ||
Ligne 150: | Ligne 155: | ||
</ | </ | ||
+ | === docker cp === | ||
+ | |||
+ | Pour copier un fichier du container vers le host; | ||
+ | <code bash> | ||
+ | docker cp [OPTIONS] CONTAINER: | ||
+ | </ | ||
+ | |||
+ | === docker volume rm === | ||
+ | |||
+ | <code bash> | ||
+ | docker volume rm [OPTIONS] VOLUME [VOLUME...] | ||
+ | </ | ||
==== Dockerfile ==== | ==== Dockerfile ==== | ||
Ligne 168: | Ligne 185: | ||
https:// | https:// | ||
- | ==== Compose ==== | + | ==== Compose |
Docker Compose permet de créer et configurer un ensemble de conteneurs avec un fichier YAML. | Docker Compose permet de créer et configurer un ensemble de conteneurs avec un fichier YAML. | ||
Ligne 186: | Ligne 203: | ||
</ | </ | ||
+ | ==== Docker Desktop ==== | ||
+ | |||
+ | https:// | ||
==== Rancher ==== | ==== Rancher ==== | ||
Ligne 192: | Ligne 212: | ||
===== Images Docker ===== | ===== Images Docker ===== | ||
- | ==== nginx-proxy ==== | + | ==== nginx-proxy |
- | * https://hub.docker.com/r/ | + | * https://github.com/nginx-proxy/ |
- | * https:// | + | * https:// |
- | Le container | + | C'est le reverse proxy pour d' |
+ | |||
+ | acme-companion is a lightweight companion | ||
+ | |||
+ | * Automated creation/ | ||
+ | * Let's Encrypt / ACME domain validation through http-01 challenge only. | ||
+ | * Automated update and reload of nginx config on certificate creation/ | ||
+ | * Support creation of Multi-Domain (SAN) Certificates. | ||
+ | * Creation of a Strong Diffie-Hellman Group at startup. | ||
+ | * Work with all versions of docker. | ||
+ | |||
+ | {{ https://raw.githubusercontent.com/nginx-proxy/acme-companion/main/ | ||
+ | |||
+ | Les 2 dans un docker-compose et le tour est joué: | ||
+ | <code yaml> | ||
+ | volumes: | ||
+ | conf: | ||
+ | vhost: | ||
+ | html: | ||
+ | dhparam: | ||
+ | certs: | ||
+ | acme: | ||
+ | |||
+ | services: | ||
+ | | ||
+ | image: nginxproxy/nginx-proxy | ||
+ | container_name: | ||
+ | ports: | ||
+ | - " | ||
+ | - " | ||
+ | volumes: | ||
+ | - conf:/etc/nginx/ | ||
+ | - vhost:/ | ||
+ | - html:/ | ||
+ | - dhparam:/ | ||
+ | - certs:/ | ||
+ | - / | ||
+ | network_mode: | ||
+ | acme-companion: | ||
+ | image: nginxproxy/ | ||
+ | container_name: | ||
+ | volumes_from: | ||
+ | - nginx-proxy | ||
+ | volumes: | ||
+ | - certs:/ | ||
+ | - acme:/ | ||
+ | - / | ||
+ | network_mode: | ||
+ | </ | ||
+ | |||
+ | Il suffit ensuite de lancer des containers | ||
+ | <code bash> | ||
+ | docker run -d -p 8000:8000 --name dokuwiki -v $(pwd)/ | ||
+ | --env " | ||
+ | --env " | ||
+ | --env " | ||
+ | --env " | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Et voilà le container '' | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Il reste un mauvais point: le container '' | ||
+ | </ | ||
+ | |||
+ | On le voit sur le port '' | ||
+ | < | ||
+ | # netstat -tanp | grep LISTEN | ||
+ | tcp 0 0 0.0.0.0: | ||
+ | tcp 0 0 127.0.0.1: | ||
+ | tcp6 | ||
+ | tcp6 | ||
+ | tcp6 | ||
+ | tcp6 | ||
+ | tcp6 | ||
+ | </ | ||
- | Le conteneur nginx-proxy peut-être démarré après les virtualhosts conteneurs. C'est cool pour le boot du système ;-) | ||
==== webdevops ==== | ==== webdevops ==== | ||
Ligne 227: | Ligne 322: | ||
Une image fullstack (Etherpad-lite, | Une image fullstack (Etherpad-lite, | ||
* [[https:// | * [[https:// | ||
+ | |||
+ | ==== openssh ==== | ||
+ | |||
+ | Easily launch two hosts waiting for you on SSH port 22, with docker-compose -> https:// | ||
===== Tips & tricks ===== | ===== Tips & tricks ===== | ||
Ligne 236: | Ligne 335: | ||
Exemple: | Exemple: | ||
- | < | + | < |
docker pull mysql | docker pull mysql | ||
docker stop my-mysql-container | docker stop my-mysql-container | ||
Ligne 243: | Ligne 342: | ||
-e MYSQL_ROOT_PASSWORD=mypwd -v / | -e MYSQL_ROOT_PASSWORD=mypwd -v / | ||
</ | </ | ||
+ | |||
+ | ==== Faire le ménage ==== | ||
+ | |||
+ | Show docker disk usage : | ||
+ | <code bash> | ||
+ | $ docker system | ||
+ | TYPE TOTAL | ||
+ | Images | ||
+ | Containers | ||
+ | Local Volumes | ||
+ | Build Cache | ||
+ | </ | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | <code bash> | ||
+ | $ sudo docker system prune | ||
+ | WARNING! This will remove: | ||
+ | - all stopped containers | ||
+ | - all networks not used by at least one container | ||
+ | - all dangling images | ||
+ | - all dangling build cache | ||
+ | |||
+ | Are you sure you want to continue? [y/N] y | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | * Remove all stopped containers : '' | ||
+ | * Remove unused images : '' | ||
+ | * Remove all unused networks : '' | ||
+ | |||
==== Container’s configuration ==== | ==== Container’s configuration ==== | ||
Ligne 321: | Ligne 451: | ||
In the second instruction, | In the second instruction, | ||
+ | |||
+ | ==== Docker Compose ==== | ||
+ | |||
+ | * Here is a docker compose for Laravel (example) : https:// | ||
informatique/docker.txt · Dernière modification : 24/11/2023 20:44 de cyrille