gitlab 使用docker安裝
環境
centos7
內存最低不小於4G
安裝docker
清理 卸載之前的docker環境
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安裝工具包設置存儲庫
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安裝docker程序
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io
# 啟動
systemctl start docker
下載gitlab鏡像
# 搜索鏡像
docker search gitlab
# 下載鏡像
docker pull gitlab/gitlab-ce
# 下載完成之后 docker iamges 命令可以查看
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 5b4c624c7fe1 33 hours ago 519MB
gitlab/gitlab-ce latest f9cc225c75e1 3 days ago 2.36GB
啟動鏡像
docker run \
-itd \
--publish 9443:443 --publish 11180:80 --publish 11922:22 \
-v /usr/local/gitlab/etc:/etc/gitlab \
-v /usr/local/gitlab/log:/var/log/gitlab \
-v /usr/local/gitlab/opt:/var/opt/gitlab \
--restart always \
--privileged=true \
--name gitlab \
gitlab/gitlab-ce
上面的命令主要意思的文件和端口映射關系配置
訪問主機的11180端口,會被轉發到gitlab容器的80端口
訪問主機的11922端口,會被轉發到gitlab容器的22端口
容器的名稱叫 gitlab ,后面停止運行容器 輸入 docker stop gitlab即可
配置
啟動后可以通過 docker ps 查看啟動的容器
啟動后過一會,通過瀏覽器輸入 http://IP:11180 即可訪問容器gitlab
通過
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
命令我們可以拿到gitlab root賬號的初始密碼登錄即可
訪問地址配置,雖然容器啟動,但是項目拉取和訪問生成的地址是容器的id,
訪問地址的修改
可能是容器版本的問題,在項目訪問上需要額外做一些配置,gitlab才能正常使用
比如主機的地址是:192.168.11.22
gitlab容器id是:ff3dgts
項目名稱是:code
項目的訪問地址生成的是 http://ff3dgts/code 這樣導致git客戶端不能成功拉取代碼,
我們應該改成 http://192.168.11.22:11180/code 這樣才能生效成功訪問代碼
# 進入容器
docker exec -it gitlab /bin/bash
# 修改配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
#找到下面的配置修改
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: 192.168.11.22 #改為主機地址
port: 11180 #改為主機端口
https: false
gitlab_shell:
ssh_host: 192.168.11.22 #改為主機地址
ssh_port: 11922 #改為主機端口
重啟容器
在gitlab容器里面:
gitlab-ctl restart
重啟之后,生效,拉取代碼的url會有變化
http://ff3dgts/code(遠程客戶端不能訪問) -> http://192.168.11.22:11180/code(遠程客戶端可正常訪問的url)