Question principale
Imaginez ce scénario.
- Un réseau de 192.168.0.0/24.
- Un ordinateur portant le nom d'hôte "Docker-Host" exécute un moteur Docker à l'adresse suivante 192.168.0.2
- Le serveur sshd de 'Docker-Host' est en cours d'exécution
- Sur 'Docker-Host', j'exécute une application dans un conteneur qui utilise ssh:22 et https:443 (GitLab).
Comment attribuer à ce conteneur une adresse IP de 192.168.0.3 ?
J'ai besoin que les services s'exécutent sur les ports par défaut qui leur ont été attribués.
Informations complémentaires
Je ne peux pas utiliser un proxy inverse comme solution car cela ne résout pas le problème de la communication avec l'instance GitLab via SSH.
Mapper le port 22 vers un port différent sur l'hôte n'est pas professionnel dans cette situation, et les développeurs de mes clients n'apprécieraient pas cette configuration.
Cela serait également difficile à maintenir si je faisais tourner de nombreuses instances de cette application. et j'ai dû continuer à mapper chaque SSH à un nouveau port sur l'hôte pour chaque conteneur.
Mes clients doivent être en mesure de résoudre et d'exécuter les éléments suivants sans configuration supplémentaire côté client.
https://GitLab.internal.net.work
ssh git clone https://GitLab.internal.net.work
J'ai consulté la documentation du réseau Docker et, sauf erreur de ma part, je ne vois pas de solution facile à maintenir (bien que je sois encore novice en matière de Docker).
Comment procéder ? Quelles sont les "meilleures pratiques" adoptées par d'autres personnes dans cette situation ? (si possible, donnez des réponses sous forme de syntaxe docker-compose).
0 votes
Comme indiqué dans docs.gitlab.com/omnibus/docker/ ils redirigent le port 22 vers GitLab ssh. Cela signifie que l'hôte ssh doit être exécuté sur un port différent.
0 votes
Et si j'avais besoin de mettre en place un deuxième serveur gitlab ? Ou quoi que ce soit qui nécessite un autre port conflictuel ? Il doit y avoir un moyen d'attribuer des IP à ces conteneurs.