인프라

도커 삽질기 - 3 feat. gitlab

도레시 2022. 1. 17. 18:18

중간 외도가 있었지만.

 

어떻게 서비스를 이용할때 도커를 이용할까에 대한 고민이 해결되었다.

 

배포의 문제를 해결하고자 설치형 github인 gitlab을 설치한다.

 

서비스를 배포를 위해 이제 무엇을 배워야 할지 키워드 압축이 되었다.

 

gitlab, docker, doker compose, Kubernetes

 

이 정도가 셋팅이되면 개발서버를 쉽게 올릴 수 있지 않을까 기대된다.

 

그래서 이번에는 gitlab 설정이다.

(이미 넘쳐나는 자료들이 있었고 이제야 관심을 가지는 나 자신에게 반성의 시간을 가진다.)

 

도커는 내렸다 올리면 데이터가 사라지기 때문에 소스 데이터는 host에 저장하기 위해 서버에 폴더를 생성한다.

gitlab_data

 

환경변수도 지정 함.

sudo nano ~/.bashrc

 

export GITLAB_HOME=/srv/gitlab

 

도커 컴포즈를 설치하기 위해

https://docs.docker.com/compose/cli-command/

 

Compose V2

 

docs.docker.com

 

아래 명령어로 설치하였다.

 mkdir -p ~/.docker/cli-plugins/
 $ curl -SL https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose

 

쓰리 스타하는 gitlab-ce를 받았다.

 

스타가 으마으마함

 

docker pull gitlab/gitlab-ce

 

compose로 실행해보려고 하다보니

아래와 같이 하니 에러남.
web:
image: "gitlab/gitlab-ce:12.2.5-ce.0"
restart: always
hostname: "gitlab.example.com"
environment:
GITLAB_OMNIBUS_CONFIG: |
# 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"

http://www.yamllint.com/

 

YAMLlint - The YAML Validator

YAML Lint Paste in your YAML and click "Go" - we'll tell you if it's valid or not, and give you a nice clean UTF-8 version of it. Optimized for Ruby.

www.yamllint.com

붙여넣고 체크도 해보고

 

에러 문구 찾다 보니

(root) Additional property web is not allowed

 

yml파일에 아래추가하라고 하더만/

version: "1.0"
services:

 

추가했는데 다음 에러는 services must be a mapping

한칸 띄어줬다 yml파일은 스페이스도 중요하구만. >.<

 

뭔가 댕댕이같이 깐깐하다.

몇줄 안 되길래 금방 띄울줄 알았거만.. 역시 해보지 않으면 모르는거다.

 

찾아보니 버전을 표기하라고 하네 last로 했는데..-_-;

 

 

그래서 또 yml 파일을 열어서 lastest 대신 14.4.5-ce.0를 넣었다.

 

그러니 버전이 다른가 docker를 또 받는다... 처음부터 이렇게 할껄 그랬나...

 

docker compose up -d

오래걸리네...

 

그리고 나서 데몬이 실행되었다.

두둥!

근데 뭔 로딩이 이리도 걸리나. 무거워서 그런가...

 

5분 기다리니 unhealthy

역시 쉽게 되는게 없다... 쩝....

 

docker compose logs -f

 

로깅을 보니 dns 도메인을 못찾으면서 에러가 났더라.

다시 yml 파일을 열어 도메인 셋팅 부분을 다 지우고 돌려본다

 

우선 기존에 올렸던 도커 먼저 중지하고

 

docker compose down

야무지게 domain 관련 셋팅을 날렸다..

 

그리고 

두둥!

 

근데 어떻게 접속하냐? 국룰인 admin / admin도 아니고...

 

리다이렉트 된다고 하던데.. 난 왜 안되냐..

 

무한 삽이네 그려... 

 

다음 글에 계속..

 

참고

https://insight.infograb.net/docs/setup/install/install_with_docker_compose/