Accéder aux ports locaux (docker-proxy) avec minifirewall
This commit is contained in:
parent
713172d74d
commit
662742beb8
|
@ -815,7 +815,7 @@ $ docker stack deploy -c ma-stack.yml -c ma-stack.dev.yml ma-stack
|
|||
|
||||
## FAQ
|
||||
|
||||
> Les conteneurs ont des problèmes de connectivités entre eux/vers l'extérieur
|
||||
### Les conteneurs ont des problèmes de connectivités entre eux/vers l'extérieur
|
||||
|
||||
C'est très probablement lié à un outil manipulant les règles netfilter qui a
|
||||
effacé les règles spécifiques à Docker, notamment dans la table _nat_.
|
||||
|
@ -827,7 +827,7 @@ de redémarrer le démon :
|
|||
# /etc/init.d/docker restart
|
||||
~~~
|
||||
|
||||
> Espace insuffisant lors du build d'une image
|
||||
### Espace insuffisant lors du build d'une image
|
||||
|
||||
Solutions:
|
||||
|
||||
|
@ -838,7 +838,7 @@ Solutions:
|
|||
|
||||
*Build context: Tout ce qui se trouve à la racine du Dockerfile.*
|
||||
|
||||
> Lors d'un redéploiement d'une stack Docker (docker stack deploy), les services ne sont pas redémarrer avec la nouvelle image
|
||||
### Lors d'un redéploiement d'une stack Docker (docker stack deploy), les services ne sont pas redémarrer avec la nouvelle image
|
||||
|
||||
Vérifier que le tag _latest_ est bien précisé dans le nom de l'image dans le _docker-stack.yml_ :
|
||||
|
||||
|
@ -846,7 +846,7 @@ Vérifier que le tag _latest_ est bien précisé dans le nom de l'image dans le
|
|||
image: registrydocker.example.com:5000/foo:latest
|
||||
~~~
|
||||
|
||||
> Est-il possible de ne faire écouter un service d'une stack que sur une interface précise de la machine hôte (par exemple sur un LAN privé) ?
|
||||
### Est-il possible de ne faire écouter un service d'une stack que sur une interface précise de la machine hôte (par exemple sur un LAN privé) ?
|
||||
|
||||
Non, Docker ne supporte pas ça.
|
||||
Il faut bloquer le port en question dans le pare-feu, dans la chaîne iptables DOCKER-USER.
|
||||
|
@ -857,11 +857,11 @@ Pour bloquer l'accès au _registry_ Docker depuis l'extérieur par exemple :
|
|||
# iptables -A DOCKER-USER -i eth0 -p tcp -m tcp --dport 5000 -j DROP
|
||||
~~~
|
||||
|
||||
> Au sein des conteneurs, un `getent <service>` ou `getent tasks.<service>` ne retourne pas l'adresse IP du service alors que celui-ci est bien lancé.
|
||||
### Au sein des conteneurs, un `getent <service>` ou `getent tasks.<service>` ne retourne pas l'adresse IP du service alors que celui-ci est bien lancé.
|
||||
|
||||
Stopper le conteneur du service avec un `docker stop <conteneur du service>`. Docker stack devrait le relancer automatiquement.
|
||||
|
||||
> Comment obtenir l'adresse IP des _tasks_ d'un _service_ (dans le cadre de l'utilisation de Docker stack) au sein de conteneur (à des fins de debug) ?
|
||||
### Comment obtenir l'adresse IP des _tasks_ d'un _service_ (dans le cadre de l'utilisation de Docker stack) au sein de conteneur (à des fins de debug) ?
|
||||
|
||||
L'adresse IP virtuelle qui redirige aléatoirement sur chacune des _tasks_ (si le réseau utilise le driver _overlay_, cas par défaut) :
|
||||
|
||||
|
@ -875,7 +875,7 @@ L'adresse IP des différentes _tasks_ d'un service :
|
|||
$ getent hosts tasks.<nom du service>
|
||||
~~~
|
||||
|
||||
> Comment trouver le PID d'un processus roulant dans un conteneur?
|
||||
### Comment trouver le PID d'un processus roulant dans un conteneur?
|
||||
|
||||
Docker et autres technologies de conteneurs, utilisent des namespace
|
||||
linux pour isoler les processus. L’utilité pgrep(1) est capable
|
||||
|
@ -886,4 +886,13 @@ processus.
|
|||
$ pgrep --ns $dockerPID $query
|
||||
~~~
|
||||
|
||||
Ce concept provient du système Plan9
|
||||
Ce concept provient du système Plan9
|
||||
|
||||
### Accéder aux ports locaux (docker-proxy) avec minifirewall
|
||||
|
||||
Vous devez autoriser l'interface docker0
|
||||
|
||||
~~~
|
||||
# Autorisation Docker
|
||||
/sbin/iptables -A INPUT -i docker0 -j ACCEPT
|
||||
~~~
|
Loading…
Reference in a new issue