docker compose로 컨테이너로 실행하는 과정에서 gitlab이 실행은 잘됐지만 접속이 안되는 문제를 발견했습니다.
이것저것 수정해봤지만 설정상 문제가 없는 것 같다는 생각이 들어서 추가로 구글을 통해 여러 문제들을 확인 해본 결과 어떤 문제가 있었는지 확인 되었습니다.
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
hostname: gitlab.example.com
ports:
- "443:443"
- "8081:80"
- "8022:22"
volumes:
- ./gitlab/config:/etc/gitlab
- ./gitlab/logs:/var/log/gitlab
- ./gitlab/data:/var/opt/gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com:8081'
기존에 제가 작성한 docker compose.yml 파일 내용입니다. 위와 같이 작성했을 때 GitLab이 Docker 컨테이너에서 nginx를 사용하여 포트를 수신하는데, 설정된 external_url에 맞춰 다른 포트를 수신하고 있다는 점을 발견했습니다.
기존 설정에서 external_url 'http://gitlab.example.com:8081' 으로 설정한 뒤, 실제로 nginx는 80포트가 아닌 8081 포트로 수신을 하게 되며, 이 포트가 외부에서 접근할 수 없어서 접속이 되지 않았습니다.
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
hostname: gitlab.example.com
ports:
- "443:443"
- "8081:8081"
- "8022:22"
volumes:
- ./gitlab/config:/etc/gitlab
- ./gitlab/logs:/var/log/gitlab
- ./gitlab/data:/var/opt/gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://http://gitlab.example.com:8081'
이렇게 수정한 이후 문제 없이 gitlab에 접속 할 수 있었습니다.