設(shè)置環(huán)境變量
export GITLAB_HOME=/srv/gitlab
執(zhí)行命令
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 2222:2222 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ee:latest
上面的命令會下載gitlab最新的鏡像,然后啟動gitlab的鏡像,這個過程可能會有寫長,可以通過 docker ps 查看啟動的狀態(tài),也可以通過sudo docker logs -f gitlab 查看日啟動日志。
沒有異常的話,gitlab啟動成功就可以通過gitlab.example.com 訪問了,gitlab初始的時候會默認創(chuàng)建一個root 超級管理員,密碼可以通過sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password 查看,獲取到密碼要及時保存或者登錄gitlab修改密碼,因為24小時之后,gitlab會刪除密碼,通過上述命令查看不到。
碰到的問題
- 啟動失敗
在啟動過程中,gitlab啟動失敗,通過日志查看發(fā)現(xiàn)報了ThreadError: can't create Thread: Operation not permitted這個錯,通過搜索發(fā)現(xiàn)是gitlab被限制使用多核cpu,解決這個錯誤只需要在啟動參數(shù)中添加如下參數(shù)就可以--privileged=true。 - 訪問很慢
搭建完成后,通過訪問gitlab發(fā)現(xiàn)速度非常慢,通過命令docker ps發(fā)現(xiàn)容器使用的內(nèi)存只有1.925G,內(nèi)存分配太少導(dǎo)致需要不停得從硬盤和內(nèi)存中切換數(shù)據(jù)導(dǎo)致的。于是在啟動參數(shù)中添加-m 4g來修改分配的內(nèi)存,重啟gitlab 發(fā)現(xiàn)不生效。在這個地方折騰了好久,后來通過發(fā)現(xiàn)是docker本身設(shè)置了內(nèi)存的限制,不論指定-m參數(shù)是多少,只要超過了docker本身設(shè)置的內(nèi)存參數(shù),都會按照docker本身設(shè)置的參數(shù)來使用內(nèi)存夠??梢酝ㄟ^一下方式來修改docker內(nèi)存限制:
image.png
不同版本的docker修改位置不一樣
