Outils pour utilisateurs

Outils du site


gestion_configuration:docker:toc

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
gestion_configuration:docker:toc [2021/09/14 22:34] – [Avec le pilote IPVLAN] sgariepygestion_configuration:docker:toc [2023/09/04 20:22] (Version actuelle) – [Volumes] sgariepy
Ligne 5: Ligne 5:
 Cette page prend en compte la **version 1.12** de Docker et supérieure. Cette page prend en compte la **version 1.12** de Docker et supérieure.
  
 +  * {{ :gestion_configuration:docker:docker_cheatsheet_r4v2.pdf |Docker Cheatsheet}}
  
 ===== Installation sur Ubuntu ===== ===== Installation sur Ubuntu =====
  
--> Documentation officielle : [[https://docs.docker.com/install/linux/docker-ce/ubuntu/|Get Docker CE for Ubuntu]]+-> Documentation officielle: 
 + 
 +  * [[https://docs.docker.com/install/linux/docker-ce/ubuntu/|Get Docker CE for Ubuntu]] 
 +  * [[https://docs.docker.com/engine/install/linux-postinstall/|Post-install]]
  
  
Ligne 241: Ligne 244:
      
      
 +
 +==== Volumes ====
 +
 +Exemple d'utilisation de volume:
 +
 +<code>
 +docker run -d --name postgres \
 +  -p 5432:5432 --restart=always \
 +  -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=database_name \
 +  -e PGDATA=/var/lib/postgresql/data/pgdata \
 +  -v pgdata:/var/lib/postgresql/data \
 +  postgres:14.1
 +</code>
 +
 +Le ''pgdata'' signifie que ce sera stocké sous le ''/var/lib/docker/volumes'' On peut spécifier un chemin plus spécifique, ici relatif:
 +
 +<code>
 +-v ./postgres-data:/var/lib/postgresql/data
 +</code>
 +
 +Les volumes sont localisés (linux) à : '' /var/lib/docker/volumes/''.
 +
 ==== Réseau ==== ==== Réseau ====
  
Ligne 433: Ligne 458:
  
   $ docker network create -d ipvlan --subnet=192.168.1.0/24 --gateway=192.168.1.254 --ip-range=192.168.1.0/28 -o ipvlan_mode=l2 -o parent=eth0 ps-ip   $ docker network create -d ipvlan --subnet=192.168.1.0/24 --gateway=192.168.1.254 --ip-range=192.168.1.0/28 -o ipvlan_mode=l2 -o parent=eth0 ps-ip
 +
 +<WRAP nicebox blue>
 +Le ''l2'' est pour **Layer 2**.
 +</WRAP>
 +
 +
 +Ajouter un container participant au réseau:
 +
 +  $ docker run -dt --name c1 --network ps-ip alpine sleep 1d
 +
 +
 +===== Services réseau =====
 +
 +  * Service Discovery
 +  * Port-based routing with the routing mesh
 +  * App-aware routing with the HTTP routing mesh
 +
 +==== Service Discovery ====
 +
 +Prend en compte quatre nodes, qui participent à un swarm.
 +
 +
 +  user@node1 $ docker network create -d overlay overnet
 +  user@node1 $ docker service create --name web -p 5000:8080 --replicas 3 --network overnet image-of/webapp
 +
 +Le nombre de replicas à 3 est voulu pour démontrer que le 4e node qui n'aura pas de tâche (container du service) pourra quand même résolver le service vers les trois autres nodes.
 +
 +==== HTTP Routing Mesh ====
 +
 +
 +Application Layer construit sur le L4 routing mesh.
 +
 +  * Permet plusieurs services sur le même port
 +  * Opère sur le layer 7 d'application
 +
 +
 + 
 +
 +===== Debugging =====
 +
 +Pour savoir sur quel réseau se trouve un container:
 +
 +  $ docker inspect container-name -f "{{json .NetworkSettings.Networks }}" | jq 
 +
 +
  
  
gestion_configuration/docker/toc.1631651664.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)