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édentes Révision précédente
Prochaine révision
Révision précédente
developpement:docker:03_docker_debian_django [2019/03/06 22:14]
open1024jc [Scripting: Container avec IP en paramètre]
developpement:docker:03_docker_debian_django [2019/03/31 13:39] (Version actuelle)
open1024jc
Ligne 1: Ligne 1:
-Note: \\+Notes : \\
 2018/12/07: Création \\ 2018/12/07: Création \\
-2019/03/04: Ajout macvlan+2019/03/04: Ajout macvlan ​\\ 
 +2019/03/19: Précision sur //Reboot et persistance//​
  
 ====== Création image de dev Debian Django ​ ====== ====== Création image de dev Debian Django ​ ======
-===== Dockerfile =====+====== Dockerfile ​======
 <file docker> <file docker>
 FROM debian:​stretch FROM debian:​stretch
Ligne 58: Ligne 59:
 </​file>​ </​file>​
  
-===== Container visible du LAN avec IP statique =====+====== Container visible du LAN avec IP statique ​======
 <note warning>​L'​objectif de ce tuto est d'​avoir le container Debian-dev visible depuis le LAN en adresse 192.168.1.230. \\ <note warning>​L'​objectif de ce tuto est d'​avoir le container Debian-dev visible depuis le LAN en adresse 192.168.1.230. \\
 Les serveurs NGINX / Django embarqués dans ce container pourront diffuser sur le LAN et avoir une adresse fixe. Les serveurs NGINX / Django embarqués dans ce container pourront diffuser sur le LAN et avoir une adresse fixe.
Ligne 64: Ligne 65:
 <note important>​Spécials remerciements à Mr Gildas QUINIOU mon instructeur Docker sur [[https://​www.udemy.com/​debuter-avec-docker/​|udemy]] qui m'a donné un coup de main pour cette personnalisation du container Docker. \\ <note important>​Spécials remerciements à Mr Gildas QUINIOU mon instructeur Docker sur [[https://​www.udemy.com/​debuter-avec-docker/​|udemy]] qui m'a donné un coup de main pour cette personnalisation du container Docker. \\
 Notamment pour le cloisonnement hôte/​container de macvlan. ;​-)</​note>​ Notamment pour le cloisonnement hôte/​container de macvlan. ;​-)</​note>​
-==== Périphérique physique de l'​hôte ====+===== Périphérique physique de l'​hôte ​=====
 Il faut connaître le nom du périphérique physique (anciennement eth0 sous ifconfig). Ici c'est //enp5s0//. \\ Il faut connaître le nom du périphérique physique (anciennement eth0 sous ifconfig). Ici c'est //enp5s0//. \\
 Pour le savoir : Pour le savoir :
Ligne 75: Ligne 76:
 </​file>​ </​file>​
  
-==== Périphérique virtuel macvlan ====+===== Périphérique virtuel macvlan ​=====
 Il faut créer un périphérique macvlan sur la machine hôte: Il faut créer un périphérique macvlan sur la machine hôte:
 <file bash> <file bash>
Ligne 99: Ligne 100:
 **macvlan_device@enp5s0**:​ \\ //​macvlan_device//​ pointe bien vers //enp5s0// \\ **macvlan_device@enp5s0**:​ \\ //​macvlan_device//​ pointe bien vers //enp5s0// \\
 Remarquons l'​état //state DOWN// de //​macvlan_device//</​note>​ Remarquons l'​état //state DOWN// de //​macvlan_device//</​note>​
-==== Activation de macvlan_device ====+===== Activation de macvlan_device ​=====
 <file bash> <file bash>
 $ sudo ip link set macvlan_device up $ sudo ip link set macvlan_device up
Ligne 120: Ligne 121:
 </​file>​ </​file>​
  
-==== Attribution d'une adresse IP du macvlan_device ====+===== Attribution d'une adresse IP du macvlan_device ​=====
 <file bash> <file bash>
 $ sudo ip addr add 192.168.1.231/​24 dev macvlan_device $ sudo ip addr add 192.168.1.231/​24 dev macvlan_device
Ligne 134: Ligne 135:
 </​file>​ </​file>​
  
-==== Création du réseau macvlan Docker pour le container ====+===== Création du réseau macvlan Docker pour le container ​=====
 Ce réseau va servir de passerelle entre l'​hôte et le container : Ce réseau va servir de passerelle entre l'​hôte et le container :
 <file bash> <file bash>
Ligne 150: Ligne 151:
 </​file>​ </​file>​
  
-==== Modification du script de lancement ====+===== Modification du script de lancement ​=====
 Il s'agit de supprimer l'​option de mapping de port Il s'agit de supprimer l'​option de mapping de port
 <​file>​ <​file>​
Ligne 180: Ligne 181:
 </​file>​ </​file>​
  
-==== Contrôle des pings et diffusion NGINX/​Django ====+===== Contrôle des pings et diffusion NGINX/​Django ​=====
 === Ping Container -> Hôte et NAS=== === Ping Container -> Hôte et NAS===
 <file bash> <file bash>
Ligne 206: Ligne 207:
 </​file>​ </​file>​
  
-=== Ping Hote -> Container ===+==== Ping Hôte -> Container ​====
 <file bash> <file bash>
 jc@jc-debian:​~$ ping 192.168.1.230 jc@jc-debian:​~$ ping 192.168.1.230
Ligne 219: Ligne 220:
 </​file>​ </​file>​
  
-=== Diffusion NGINX / Django===+==== Diffusion NGINX / Django====
   * Ce screen est pris depuis la machine hôte en 192.168.1.2 donc pas de cloisonnement avec le container. \\   * Ce screen est pris depuis la machine hôte en 192.168.1.2 donc pas de cloisonnement avec le container. \\
   * On voit sur ce screen la zone URL de Firefox ​ http://​192.168.1.230/​visudyn/​auto qui pointe dans le container. On y reconnait l'​adresse IP 192.168.1.230.   * On voit sur ce screen la zone URL de Firefox ​ http://​192.168.1.230/​visudyn/​auto qui pointe dans le container. On y reconnait l'​adresse IP 192.168.1.230.
Ligne 228: Ligne 229:
 Voilà pour ce tuto, j'ai adoré travailler avec Docker, encore un grand merci à  [[https://​www.udemy.com/​debuter-avec-docker/​|Mr Gildas QUINIOU]] pour sont aide et sa réactivité ;-) . Voilà pour ce tuto, j'ai adoré travailler avec Docker, encore un grand merci à  [[https://​www.udemy.com/​debuter-avec-docker/​|Mr Gildas QUINIOU]] pour sont aide et sa réactivité ;-) .
  
-===== Reboot et persistance =====+====== Reboot et persistance =====
 +Je constate que le mode veille prolongée dérange le //​macvlan_device//,​ il faut refaire la procédure coté hôte :
 <note important>​ <note important>​
 Sur l'​hôte il faut redéfinir l'​adresse IP Sur l'​hôte il faut redéfinir l'​adresse IP
 </​note>​ </​note>​
 <file bash> <file bash>
 +sudo ip link add macvlan_device link enp5s0 type macvlan mode bridge
 +sudo ip link set macvlan_device up
 sudo ip addr add 192.168.1.231/​24 dev macvlan_device sudo ip addr add 192.168.1.231/​24 dev macvlan_device
 </​file>​ </​file>​
-===== Scripting: Container avec IP en paramètre =====+====== Scripting: Container avec IP en paramètre ​======
 Étude de scripting du démarrage du container avec passage de IP en paramètre. \\ Étude de scripting du démarrage du container avec passage de IP en paramètre. \\
 L'​idée est de lancer le script comme ça : L'​idée est de lancer le script comme ça :