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 № 1Obecny 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