【问题标题】:Best practice for port binding two gitlab containers端口绑定两个gitlab容器的最佳实践
【发布时间】:2020-02-14 07:11:38
【问题描述】:

我们希望在我们的服务器上运行两个 gitlab 实例。一个将因遗留原因而维护,一个新的将用于新项目。

使用 docker,我们能够调出 gitlab 的第一个遗留实例。这是我们的 docker-compose.yml 减去我们的环境变量和主机名。

version: '3.7'
services:
    gitlab:
        container_name: 'gitlab_legacy'
        image: 'gitlab/gitlab-ce:latest'
        restart: 'always'
        ports:
            - '80:80'
            - '443:443'
            - '22:22'
        volumes:
            - '/srv/gitlab/config:/etc/gitlab'
            - '/srv/gitlab/logs:/var/log/gitlab'
            - '/srv/gitlab/data:/var/opt/gitlab'
networks:
    default:
        external:
            name: nginx-proxy

我的网络知识有限,但我知道这显然不适用于第二个实例,因为端口已经在使用中。会出现以下错误。

Bind for 0.0.0.0:80 failed: port is already allocated Bind for 0.0.0.0:443 failed: port is already allocated Bind for 0.0.0.0:22 failed: port is already allocated

所以我的问题是,启动第二个 gitlab dockerised 容器或任何未来需要绑定到相同端口的容器的最佳解决方案是什么?

【问题讨论】:

    标签: docker docker-compose gitlab docker-container


    【解决方案1】:

    您应该按照this link 中的说明使用 nginx 反向代理

    然后在您的 docker-compose 文件中,端口部分将按照描述进行更改。 例如:

    ports:
        - '7080:80'
        - '7443:443'
        - '7022:22'
    

    第二个例子:

    ports:
        - '8080:80'
        - '8443:443'
        - '8022:22'
    

    【讨论】:

    • 我正在使用 jwilder/nginx-proxy
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    相关资源
    最近更新 更多