/ / Docker mapuje porty i eksponuje na określone hosty - docker, nginx, jenkins, gitlab, nginx-reverse-proxy

Docker mapujący porty i udostępniający określone hosty - docker, nginx, jenkins, gitlab, nginx-reverse-proxy

Prowadzę Docker lokalnie, testuję niektóre funkcje z Jenkins i GitLab, więc uruchomiłem:

Dla Jenkins:

docker run -d 
--add-host="gitlab.example.com:172.16.2.92" 
-p 8080:8080 -p 50000:50000 
--name jenkins 
--restart always 
-v jenkins_home:/var/jenkins_home jenkins/jenkins:lts

W przypadku GitLab:

docker run --detach 
--hostname gitlab.example.com 
--publish 443:443 --publish 80:80 --publish 23:22 
--name gitlab 
--restart always 
--volume /srv/gitlab/config:/etc/gitlab 
--volume /srv/gitlab/logs:/var/log/gitlab 
--volume /srv/gitlab/data:/var/opt/gitlab 
gitlab/gitlab-ce:latest

Nie mam żadnych problemów z ujawnieniem portów i dostępem do kontenerów.

Mój problem

Oba kontenery działają lokalnie, mój adres IP to 192.168.x.x i dodał hosta GitLab do pliku mojego hosta, więc gdy próbuję uzyskać dostęp do GitLab, nie ma problemu. Piszę gitlab.example.com w przeglądarce i vuola, stronie głównej GitLab. Próbuję zrobić to samo z Jenkinsem dodając hosta do dockera.

docker run -d 
--hostname jenkins.example.com 
--add-host="gitlab.example.com:172.16.2.92" 
-p 8080:8080 -p 50000:50000 
--name jenkins 
--restart always 
-v jenkins_home:/var/jenkins_home jenkins/jenkins:lts

Ale nie mam pojęcia, jak dodać adres URL do mojego pliku hosts. Próbowałem dodać 192.168.x.x: 8080 i jenkins.example.com, ale nic.Jeśli wpisuję jenkins.example.com w przeglądarce nic się nie dzieje.

Stwierdziłem, że mogę to zrobić za pomocą nginx wiążący ale nie jest dla mnie jasne.

Ktoś może mi pomóc rozwiązać ten problem?

Dzięki!!

Odpowiedzi:

0 dla odpowiedzi № 1

Obecny problem, przed którym stoisz, to: Sprawdź ten artykuł: Numery portów nie są ważną częścią pliku hosts.

Teraz, aby rozwiązać ten problem i rozwiązać gomożna zdefiniować dwie różne nazwy hostów dla tego samego adresu IP, a następnie użyć serwera proxy Apache HTTP i zdefiniować różne trasy, aby przekazywać żądania do różnych miejsc docelowych.

Odwołaj się do httpd: Apache httpd