无法运行已在使用的gitlab docker镜像端口

时间:2020-09-14 21:03:04

标签: docker docker-compose gitlab port docker-container

我正在尝试运行gitlab docker映像。我在使用已使用的端口时遇到了麻烦。

错误:对于gitlab_web_1无法启动服务网站:驱动程序失败 在端点gitlab_web_1上编程外部连接 (a22b149b76f705ec3e00c7ec4f6bcad8f0e1b575aba1dbf621c4edcc4d4e5508): 启动Userland代理时出错:监听tcp 0.0.0.0:22:绑定:地址 已经在使用

这是我的docker-compose.yml:

web:
  image: 'gitlab/gitlab-ee:latest'
  restart: always
  hostname: 'gitlab.example.com'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'https://gitlab.example.com'
      # Add any other gitlab.rb configuration here, each on its own line
  ports:
    - '80:80'
    - '443:443'
    - '22:22'
  volumes:
    - '$GITLAB_HOME/config:/etc/gitlab'
    - '$GITLAB_HOME/logs:/var/log/gitlab'
    - '$GITLAB_HOME/data:/var/opt/gitlab'

我以前对端口80和443都有相同的错误消息。 为了解决这个问题,我从服务器上删除了Apache。 但是我需要使用端口22进行ssh连接,所以我不知道该怎么做...

  • 是否可以使apache和docker容器在相同的端口上运行?
  • 为什么gitlab/gitlab-ee需要端口22?

1 个答案:

答案 0 :(得分:0)

一个朋友告诉我有关 traefik 的信息,它将满足我的需求: https://docs.traefik.io/

另一种解决方案是在apache上创建所需数量的VirtualHost,然后将其重新路由到本地docker端口。