/ / Docker mapovanie portov a vystaviť konkrétnym hostiteľom - docker, nginx, jenkins, gitlab, nginx-reverse-proxy

Porty mapovania portov a vystavenie konkrétnym hostiteľom - docker, nginx, jenkins, gitlab, nginx-reverse-proxy

Spúšťam Docker lokálne, testujem niektoré funkcie od Jenkinsu a GitLabu, takže som bežal:

Pre 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

Pre 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

Nemám problém vystaviť prístavy a pristupovať ku kontajnerom.

Môj problém

Obidva kontajnery prebiehajú lokálne, moja adresa IP je 192.168.x.x a pridal som hostiteľa hostiteľa GitLab do svojho súboru hostiteľov, takže keď sa pokúšam o prístup k GitLabu, žiadny problém. Zadávam gitlab.example.com v prehliadači a vuola, hlavnej stránke GitLab. Snažím sa urobiť to isté s Jenkinsom, ktorý pridáva hostiteľa do dokovacej stanice.

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

Nemám však predstavu, ako pridať adresu URL do súboru hostiteľov.Ak som sa pokúsil pridať 192.168.x.x: 8080 a jenkins.example.com, ale nič.Ak zadám lenkins.example.com v prehliadači sa nič nestalo.

Našiel som thta môžem použiť nginx robiť to viazanie ale nie je pre mňa jasné.

Môže mi pomôcť niekto vyriešiť tento problém?

Vďaka!!

odpovede:

0 pre odpoveď č. 1

Súčasný problém, s ktorým čelíte, je: Začiarknite tento článok: Čísla portov nie sú platnou súčasťou súboru hostiteľov.

Teraz prekonať tento problém a vyriešiť ho vymôže definovať dva rozdielne názvy hostiteľov na rovnakú IP adresu a potom použiť proxy server HTTP Apache a definovať rôzne cesty, pomocou ktorých môžete posielať svoje požiadavky na rôzne ciele.

Zoberte odkaz na httpd: Apache httpd