티스토리 뷰
docker run --detach \
--hostname abc.xxx.net \
--publish 8897:80 --publish 6015:22 \
--name gitlab \
--restart always \
--volume /gitlab/config:/home/ailab/GitLab \
--volume /gitlab/logs:/home/ailab/GitLab/log \
--volume /gitlab/data:/home/ailab/GitLab/data \
gitlab/gitlab-ce:latest
아래 파일을 수정해야한다.
/home/ailab/GitLab/gitlab.rd
#위 파일에서 포트와 도메인을 변경한다.
external_url 'abc.xxx.net:8897'
### GitLab Shell settings for GitLab
gitlab_rails['gitlab_shell_ssh_port'] = 6015
여기서 주의할 점은 포트를 변경했다는 것이다.
이때 연결할때는 아래와 같이 연결해야한다.
git clone ssh://git@abc.xyz.net:6015/<프로젝트명>.git
windows
docker run \
## --detach
--hostname 127.0.0.1 \
--publish 8897:80 --publish 6015:22 \
--name gitlab \
## --restart always \
--volume C:/gitlab/config:/home/ailab/GitLab \
--volume C:/gitlab/logs:/home/ailab/GitLab/log \
--volume C:/gitlab/data:/home/ailab/GitLab/data \
gitlab/gitlab-ce:latest
위의 내용으로 수십번 설치하고 삭제하고 나서 알게되었다.
가장 애를 먹은 부분이 바로 위의 gitlab.rd 파일을 수정하면서 서버 접속이 안되는 것이다.
외부에서 3개의 포트가 모두 같아야 한다.
즉, 외부에서 들어오는 포트와 내부에서 리슨하는 포트와 rd 파일의 포트와 같아야 한다.
그렇지 않으면 gitlab을 운영할때, 각 링크가 rd 파일 기준으로 연동되기 때문에 링크가 깨진다.
결론은 아래 방법이 최고다.
docker run --detach \
--hostname aidata.xxx.zzz \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://aidata.xxx.zzz:9099'; gitlab_rails['gitlab_shell_ssh_port'] = 9022" \
--publish 9099:9099 --publish 9022:9022 \
--name gitlab \
--restart always \
--volume /home/ktds/devloper/docker/gitlab/config:/etc/gitlab \
--volume /home/ktds/devloper/docker/gitlab/logs:/var/log/gitlab \
--volume /home/ktds/devloper/docker/gitlab/data:/var/opt/gitlab \
--volume /etc/localtime:/etc/localtime:ro \
-e TZ=Asia/Seoul \
gitlab/gitlab-ce:latest
위와 같이 9022로 외부에서 접속되면, 내부에서 9099로 포트로 연동이 되고, rd파일파일에 정의돤 포트도 9099이면 된다.
그리고 상기와 같이 환경변수인자 env를 사용하면 rd파일을 수정하지 않아도 해당 값으로 셋팅하게 된다. 그럼 rd파일을 수정할 일이 없다.
추가로 ubuntu 이미지가 로컬과 다르기때문에 마찮가지로 환경변수(-e)로 전달을 해주면 내 로컬과 도커 컨테이너의 시간이 같다.
참고로 gitlab 부팅시간은 약 5분이상 걸리며, 관리자 계정은 admin이 아닌, root 이다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- backup
- __code__
- Selenium
- redmine plugin
- bootrap
- jqzip
- jqgrid
- elasticsearch
- Lodash
- gitlab
- HashMap.getOrDefault
- MAC
- 호스트와 시간맞추기
- importlib
- covid19
- Restore
- 동적클래스생성
- pip freeze #패쇄망 #wheel
- pyenv
- python의 Reflection
- zsh
- selenium #chromedriver
- docker
- virturalenv
- vscode
- anaconda env
- jupyter lab
- conda init
- inspect.py
- sorted
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함