如何通过Traefik在Docker中代理Gitlab

时间:2019-04-26 06:58:16

标签: docker gitlab gitlab-ci-runner traefik

我有一台服务器,运行多个Docker容器,其中有两个,对于我的主要网站,另外两个是共享的MariaDB和Redis,其中一个是Traefik,另一个是Portainer(我仍然遇到Docker问题cli)。

因此出现了一个问题,如何在Docker中运行Gitlab并通过Traefik代理它?

我确实需要22个端口用于从主机到服务器的SSH连接,端口80和443由Traefik占用(以处理代理和https),因此Gitlab所需的所有3个端口均由代理+系统。

使用Traefik是反向代理来创建Dockerized Gitlab实例的正确方法是什么?

另一个问题是,运行程序(对于CI / CD)如何在Dockerized实例上工作? (Xzibit方式?“我已经为您创建了Docker实例,以便您可以在Docker内运行Docker,而Docker也可以运行Docker?”)

1 个答案:

答案 0 :(得分:0)

下面是Traefik背后的GitLab示例,包括用户界面和注册表:https://discourse.geek-kitchen.funkypenguin.co.nz/t/a-complete-gitlab-traefik-config/554/11

关于SSH的处理方式,您可以重新编号现有的SSH守护程序以使用22以外的端口,或者仅使用其他端口(即2222),然后告诉GitLab您使用了非SSH端口。通过设置GITLAB_SSH_PORT env变量来建立标准的SSH端口。

以下是将跑步者作为容器运行的示例:https://geek-cookbook.funkypenguin.co.nz/recipes/gitlab-runner/