我在本地运行Docker。我正在测试Jenkins和GitLab的一些功能,所以我跑了:
詹金斯:
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
对于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
我没有任何问题暴露端口和访问容器。
我的问题
两个容器都在本地运行,我的IP是192.168.x.x,并将GitLab的主机添加到我的hosts文件中,所以当我尝试访问GitLab时,没问题。我在浏览器和guLab的主页vuola中键入gitlab.example.com。我尝试使用Jenkins将主机添加到docker。
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
但我不知道如何将URL添加到我的hosts文件中。我试图添加192.168.x.x:8080和jenkins.example.com,但没有。如果我在浏览器中输入jenkins.example.com,则不会发生任何事情。
我发现我可以使用nginx来执行绑定,但对我来说并不清楚。
任何人都可以帮我解决这个问题吗?
谢谢!
答案 0 :(得分:0)
您面临的当前问题是: 查看此文章:Port numbers are not a valid part in hosts file.
现在要解决这个问题并解决它,您可以为同一个IP定义两个不同的主机名,然后使用Apache HTTP代理服务器并定义不同的路由以将您的请求转发到不同的目的地。
参考httpd:Apache httpd