安裝gitlab
1. 拉取GitLab-ce鏡像,查看鏡像信息
$ docker pull gitlab/gitlab-ee:11.11.0-ee.0 $ docker images
2. 創建並啟動一個GitLab容器,:
后的內容不要修改
$ mkdir /home/docker/gitlab -p
$ GITLAB_HOME=/home/docker/gitlab # 建立gitlab本地目錄 $ docker run -d \ --hostname gitlab.example.com\ # 指定容器域名,創建鏡像倉庫用 -p 8443:443 \ # 容器443端口映射到主機8443端口(https) -p 8080:80 \ # 容器80端口映射到主機8080端口(http) -p 2222:22 \ # 容器22端口映射到主機2222端口(ssh) --name gitlab \ # 容器名稱 --restart always \ # 容器退出后自動重啟 -v $GITLAB_HOME/config:/etc/gitlab \ # 掛載本地目錄到容器配置目錄 -v $GITLAB_HOME/logs:/var/log/gitlab \ # 掛載本地目錄到容器日志目錄 -v $GITLAB_HOME/data:/var/opt/gitlab \ # 掛載本地目錄到容器數據目錄 gitlab/gitlab-ce:latest # 使用的鏡像:版本
可參考官方配置說明文檔,本地配置文件在$GITLAB_HOME/config/gitlab.rb
3. 查看容器運行情況
$ docker ps -a
$ netstat -lntup
配置gitlab
1. 備份默認配置文件
$ cd /home/docker/gitlab/config $ cp gitlab.rb gitlab.rb.default
2. 修改配置文件
# gitlab域名 external_url 'http://192.168.8.21' # 時區 gitlab_rails['time_zone'] = 'Asia/Shanghai' # 允許自定義頭像 gitlab_rails['gravatar_plain_url'] = 'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon' # 由於設置了端口映射,設置如下選項使得網頁端顯示正常可用的ssh地址,如“ssh://git@192.168.8.21:2222/xxx/xxx.git” gitlab_rails['gitlab_shell_ssh_port'] = 2222 # 關閉CI/CD gitlab_rails['gitlab_default_projects_features_builds'] = false # 設置GitLab備份路徑 gitlab_rails['manage_backup_path'] = true gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
3. 重啟容器或進入容器重啟gitlab服務,生效配置
在gitlab容器內重載 $ gitlab gitlab-ctl reconfigure $ gitlab gitlab-ctl restart 或直接重啟容器 $ docker restart gitlab
更新gitlab
拉取最新的GitLab-ce鏡像,然后停止並刪除當前的GitLab容器
$ docker stop gitlab
$ docker rm gitlab
重啟創建並啟動GitLab容器,使用同樣的配置和volume參數即可,GitLab會自動讀取這些配置
$ docker run -d \ --hostname gitlab.example.com\ -p 8443:443 \ -p 8080:80 \ -p 2222:22 \ --name gitlab \ --restart always \ -v $GITLAB_HOME/config:/etc/gitlab \ -v $GITLAB_HOME/logs:/var/log/gitlab \ -v $GITLAB_HOME/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest
參考連接: