01.Docker GitLab 설치 삽질기
Written by niee on
오늘 무려 장장 10시간 가량 뻘짓을 하게한 mac os el capitan 에서
docker 에 gitlab을 올려서 외부에서 접속하는 방법을
짜증나서 포스팅 해두려함
Docker 설치 및 실행
- Docker 설치
- Docker-Machine 생성 & 실행
- Docker-Machine Active
- Docker-Machine ip 확인
- Docker-Machine ssh 접속
$ docker-machine create default //default 이름의 가상머신(virtualbox) 생성 자동생성 됐던거같은데 안돼있다면 생성
$ docker-machine ls // 생성된 docker-machine 목록 확인
$ docker-machine env default
$ eval $(docker-machine env default) //default docker-machine을 active 이 작업을 할 경우 docker-machine 에 ssh 접속을 하지 않아도 docker 명령어 사용 가능
$ docker-machine ip //docker-machine ip 출력
$ docker-machine ssh default //docker-machine ssh 접속
GitLab 설치
- GitLab 설치
- GitLab 실행
- Gitlab 접속 확인
- Docker 종료
- Docker-Machine 종료
docker-machine ssh$ docker pull gitlab/gitlab-ce //gitlab community edition 설치
docker-machine ssh$ sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 32769: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
docker-machine ssh$ docker ps // 실행 중인 docker 확인 -a 할 경우 등록된 모든 docker출력
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
63e80f4ff6df gitlab/gitlab-ce:latest "/assets/wrapper" 7 hours ago Up 17 minutes (healthy) 0.0.0.0:32770->22/tcp, 0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp gitlab-ce
브라우저 에서 http://docker-machineip:32769
docker-machine ssh$ docker stop gitlab //gitlab 종료
docker-machine ssh$ exit //docker-machine ssh 접속 종료
$ docker-machine stop default //default docker-machine 종료
virtualbox nat 포트 포워딩 추가
- virtualbox 포트 포워딩 추가
- elcapitan 포트포워딩 추가
- Docker-Machine 실행
- GitLab 실행
virtualbox default 머신 선택 -> 설정 -> 네트워크 -> 어댑터1 -> nat -> 고급 -> 포트포워딩 -> 추가 rule : http hostport : 32769 virtualport : 32769
$ echo "rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 32769" | sudo pfctl -ef-
$ docker-machine start default
$ docker-machine ssh default
$ docker restart gitlab
외부에서 http://PCIP 접속하여 확인
elcapitan 포트포워딩 추가방법 2
1.
$ sudo vi /etc/pf.anchors/forwarding-name
//추가
rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 32769
//필요한 만큼 추가
rdr pass inet proto tcp from any to any port 443 -> 127.0.0.1 port 32771
2.
$ sudo vi /etc/pf.conf
//추가
rdr-anchor "anchor-name"
load anchor "anchor-name" from "/etc/pf.anchors/forwarding-name"
3.
$ sudo pfctl -ef /etc/pf.conf
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.
No ALTQ support in kernel
ALTQ related functions disabled
pfctl: pf already enabled
pfctl: pf already enabled <-- 뜨면 성공
Docker-Machine ssh 접속 후 Gitlab 설정파일 접근 방법
- 기본으로 ssh로 Docker-Machine에 접속하면 docker 내부의 gitlab 관련 정보를 볼수 없음
설정파일 위치 : /etc/gitlab/gitlab.rb
$ sudo docker exec -it gitlab /bin/bash <-- git사용자로 변경
or
$ sudo docker exec -it gitlab vi /etc/gitlab/gitlab.rb <- 바로 설정파일 vi로 오픈
Comments