티스토리 뷰

Docker/Docker

Docker로 gitlab 설치하기

Giles Blog 2018. 12. 4. 00:50
728x90

1. gitlab 설치

  동생과 협업을 하기위해서 github를 사용하다가 

 회사 서버에 버전관리 도구를 설치해야겠다고 생각해서 찾던도중    gitlab을 쓰면 될꺼같아서 전반적으로 설치해본다.

 

 

 

 

2. docker gitlab설치

  기본적으로 docker를 알고 있어야한다.

  image pull 받는 곳

  https://hub.docker.com/r/gitlab/gitlab-ce/

 

 

docker pull gitlab/gitlab-ce

 

 

 

 

3. docker run 

   빠르게 실행하고싶으면 간단하게 이렇게 실행하면된다. 

   --detach = -d 명령을 백그라운드로 실행한다.'

   --hostname 나의 도메인주소가 있을경우 사용하면된다.

   --publish 443:443 

   --publish 80:80 외부접속:이미지 내 포트 

               // 외부에서 접속하는포트를 내부의 포트로 연결해준다.                   나의 경우는 외부접속포트를 변경하였다.

   --publish 22:22 

   --name 도커에서 이름을 나타낸다  docker ps 하면

              name 을 가르킨다.

   --restart 다시 시작할경우 항상 

   --volume 볼륨은 도커는 이미지로 돌아가서 호스트서버에 

                폴더를 만들어서 그 폴더를 이미지에 연동시킨다

     gitlab/gitlab-ce:latest 사용하고자하는 이미지 이름

 

sudo docker run --detach \

--hostname gitlab.example.com \

--publish 443:443 --publish 80:80 --publish 22:22 \

--name gitlab \

--restart always \

--volume /srv/gitlab/config:/etc/gitlab \

--volume /srv/gitlab/logs:/var/log/gitlab \

--volume /srv/gitlab/data:/var/opt/gitlab \

gitlab/gitlab-ce:latest

                      

실행을 하고 나면 최대 10분정도 기달려야한다.(느린컴퓨터일수록)

기다리기 지루하면 이렇게 치면 현재 실행중인로그를 볼수있다.

 

 

docker logs gitlab -f

 

 

나는 클라우드 서버를 사용하고 있어서 포트 다 열어놓고 실행하자마자 들어갔더니 안된다. 접속이 안되었다. 알고보니 gitlab 실행할려면 시간이 좀 걸린다. 잘 실행이 완료되면 http://호스트ip:포트번호로 접속하면 아래와 같이 로그인 페이지가 뜬다.

 

 

실행이 완료되면 이렇게 보인다.

 

docker stop gitlab

docker rm gitlab

 

기본적인 방법으로 하면 매번 켤때마다 명령어를 다 쳐야해서 불편하다. 그래서 방법을 바꾸기 위해서 컨테이너를 지운다.

 

 

 

 

4. docker-compose 사용하기

그대로 사용하면 너무 불편하고 명령어를 나중에 계속 쳐야해서 지운다. gityml 폴더를 만들어서 docker-compose.yml을 만든다.

 

 

mkdir gityml

cd gityml

vi docker-compose.yml

 

 

파일을 만들어서 아래의 내용을 추가한다.

나의 경우에는 포트를 수정하여서 사용하고 있다.

 

 

web:

  image: 'gitlab/gitlab-ce:latest'

  restart: always

  hostname: 'gitlab.example.com'

  container_name: gitlab

  environment:

    GITLAB_OMNIBUS_CONFIG: |

      external_url 'http://gitlab.example.com'

      # Add any other gitlab.rb configuration here, each on its own line

  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'

    - '/var/opt/gitlab/backups' # 백업 폴더 추가

 

 

docker-compose.yml 파을을 다 구성한 후, 아래 명령어를 실행하면, 명령어를 다 안쳐도됨

 

docker-compose up -d

 

 

5. gitlab의 버전을 업데이트 할때도 마찬가지 방법을 하면된다. 

   컨테이너를 중지, 지우고, 도커로 이미지 업데이트후에 다시 실행하면 된다.

 

sudo docker stop gitlab                   # 도커 컨테이너 중지

sudo docker rm gitlab                     # 도커 이미지 삭제

sudo docker pull gitlab/gitlab-ce:latest  # gitlab 최신버전 이미지 받아오기

docker-compose up -d                      # gitlab 실행

 

  docker-compose.yml 을 사용하여 진행했다면 더 쉽게 업데이트후 실행할수있다.

 

 # docker-compose.yml의 위치로 이동

docker-compose pull   # gitlab update

docker-compose up -d  # gitlab 재실행

 

 

 

6. 메일 발송 설정

 사용자가 비밀번호를 분실했을 경우, 메일로 비밀번호를 재설정할 수 있으면, 편리하다. 도커 컨테이너에 직접 접속하여 설정파일을 수정하자.

 

sudo docker exec -it gitlab /bin/bash # 컨테이너에 접속한다

vi etc/gitlab/gitlab.rb # 설정 파일을 수정하자

 

 

공식문서에서 확인하고 stmp서버의 예제를 보고 똑같이 수정해주면 된다. 변경후에는 변경된 내설정을 적용해야한다. 도커 컨테이너에 접속한 상태에서 그래도 명령어를 쳐주자.

 

 

 

# /etc/gitlab/gitlab.rb 를 변경한 후에는 항상 이 명령어로 변경사항을 적용한다(Omnibus GitLab 한정)

gitlab-ctl reconfigure

 

 

이 쉬운것을 2시간동안 삽질을 몇번을 했는지 모르겠다. 추후에는 더 빨리 설치할수있을듯하다. 

 

 

 

 

 

참고문서 : https://lovemewithoutall.github.io/it/start-docker/

 

 

 

 

 

 

 

 

 

 

'Docker > Docker' 카테고리의 다른 글

도커(Docker)로 Redis 설치하기  (0) 2021.07.21
Docker에 Jenkins 설치하기  (0) 2018.12.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함