Docker réseau internal communiquer avec l'extérieur

Résolu/Fermé
jo - 16 oct. 2021 à 20:34
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 18 oct. 2021 à 21:57
Bonjour,


J'ai mis en place avec Docker un réseaux composé de:

- 1 container avec apache en reverse proxy (A)
- 1 container avec apache comme serveur applicatif (B) qui héberge un site internet

Le container A a deux réseaux:

- le premier est un bridge qui ouvre les ports 80 et 443 sur l'extérieur
- le second est un bridge marqué internal qui communique avec le container (B)

Cela fonctionne bien, mais le soucis est que je souhaite que le second container (B) puisse communiquer avec l'extérieur (pour des mises à jours du site web pas exemple) sans ouvrir de nouveaux ports dans le firewall.

Comment puis-je faire cela car je peux pas communiquer avec l'extérieur que se soit avec un nom de domaine ou une adresse IP.

Pouvez-vous m'aider s'il vous plaît ?

Configuration: Windows / Firefox 91.0

3 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
17 oct. 2021 à 03:07
Bonjour,

Je ne vois pas vraiment pourquoi tu crées deux réseau Docker, tu peux y parvenir avec un seul bridge avec accès externe.

Si par "ouvrir de nouveaux ports dans le firewall" tu fais référence à l'option "-p" (lien entre port hôte et port container), il n'est pas nécessaire de le faire pour le container B. Le container B peut tout à fait écouter le port 80 sans que celui-ci soit exposé au niveau des ports de l'hôte.
0
Bonjour avion-f16, je vais faire d'autres tests cette semaine en supprimant un réseau, je suis débutant et cela me semblait être une bonne idée. Je reviendrai durant la semaine avec le résultat de mes tests et si cela ne fonctionne pas avec ma config. Encore merci pour ta réponse.

Belle soirée
0
Salut avion-f16, cela à fonctionné, je te remercie, j'avais pensé trop compliqué.

Bonne soirée
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
Modifié le 18 oct. 2021 à 21:58
Bonjour,

En effet, je ne voyais pas l'utilité de vouloir placer le container B dans un réseau isolé (sans accès vers l'extérieur) alors qu'il doit justement pouvoir accéder à Internet.

La solution aurait été d'utiliser le container A comme passerelle (routeur NAT) mais ça aurait été inutilement compliqué.

Si on met de côté l'aspect Docker/containers et qu'on considère un déploiement de plusieurs backends derrière un proxy inversé, les serveurs backends disposent de leur propre accès à Internet sans passer par le proxy. Ils ne transmettent une réponse via le proxy que pour les requêtes qui viennent de ce proxy.
0