Мы хотим, чтобы на нашем сервере работали два экземпляра gitlab. Один будет поддерживаться по старым причинам, а новый - для новых проектов.
Используя докер, мы смогли запустить первый устаревший экземпляр gitlab. Вот наш docker-compose.yml минус наши переменные env и имя хоста.
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 или любых будущих контейнеров,которая требует привязки к тем же портам?