首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法运行已经在使用的gitlab坞映像端口

无法运行已经在使用的gitlab坞映像端口
EN

Stack Overflow用户
提问于 2020-09-14 21:03:04
回答 2查看 3.3K关注 0票数 1

我在试着拍一张gitlab的码头图像。我已经在使用的港口遇到麻烦了。

错误:因为(a22b149b76f705ec3e00c7ec4f6bcad8f0e1b575aba1dbf621c4edcc4d4e5508):无法启动服务web:驱动程序无法在端点上编程外部连接,gitlab_web_1启动用户代理时出错:侦听TCP0.0.0.0:22:绑定:已在使用的地址

这是我的船坞-复合。Here:

代码语言:javascript
复制
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来连接,所以我不知道怎么弄清楚.

  • 是否有可能让apache和docker容器使用相同的端口运行?
  • 为什么gitlab/gitlab-ee需要端口22?
EN

回答 2

Stack Overflow用户

发布于 2020-09-15 14:09:56

一位朋友告诉我关于traefik的事,它将满足我的需求:https://docs.traefik.io/

另一种解决方案是在apache上创建尽可能多的VirtualHost,并将它们重新路由到本地坞端口。

票数 0
EN

Stack Overflow用户

发布于 2021-08-18 23:29:18

Gitlab需要端口22,因为它是ssh连接的默认端口,用于不同的repos的推/拉。

因为在这个问题中有两种不同的协议,所以它们都有非常不同的解决方案。

SSH端口

为了解决这个问题,我遵循了这里步骤,这说明了如何更新/etc/gitlab/gitlab.rb文件,并将默认侦听端口更改为您选择的内容(示例中为2289)。

注意,当应用更改时,当您克隆回购时,“”字符串将更改为包含此自定义端口。

Apache端口

AFAIK不可能让两个进程监听同一个端口。因此,我为容器发布了不同的端口(即: 8080和8443),并使用带有虚拟主机和代理的Apache使其表现出用户期望的行为方式。这确实假设您可以控制您的DNS。

这允许我拥有多个容器--所有容器都发布不同的端口,而apache监听端口80/442,并充当这些容器的代理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63891797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档