CentOS7 Docker安裝Gitlab

官方教程
https://docs.gitlab.com/omnib...nginx

搜索鏡像git

docker search gitlab redis

下載鏡像文件sql

docker pull docker.io/gitlab/gitlab-cedocker

注意:必定要配置阿里雲的加速鏡像 shell

建立GitLab 的配置 (etc) 、 日誌 (log) 、數據 (data) 放到容器以外, 便於往後升級, 所以請先準備這三個目錄。json

mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data

運行GitLab容器
注意http端口8090要和宿主機映射一致,不然後面http方式clone端口配很差bootstrap

docker run \
--detach \
--publish 2222:22 \
--publish 8090:8090 \
--publish 8443:443 \
--hostname x.x.x.x \
-v /mnt/gitlab/etc:/etc/gitlab \
-v /mnt/gitlab/log:/var/log/gitlab \
-v /mnt/gitlab/data:/var/opt/gitlab \
-v /etc/localtime:/etc/localtime:ro \
--name gitlab_hw \
--restart always \
--privileged=true gitlab/gitlab-ce:latest

運行成功以後,將掛載文件同步到容器外面vim

修改/mnt/gitlab/etc/gitlab.rbcentos

把external_url改爲部署機器的域名或者IP地址

vim /mnt/gitlab/etc/gitlab.rb

# 修改http clone時顯示的端口
external_url 'http://x.x.x.x:8090'
...
# 修改ssh clone時顯示的端口
gitlab_rails['gitlab_shell_ssh_port'] = 2222

image.png

修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
這個文件改了沒什麼暖用, 會被gitlab.rb覆蓋, (這一步本來不是必須的,由於gitlab.rb內配置會覆蓋這個,爲了防止沒有成功覆蓋因此我在這裏進行配置,非docker運行gitlab的話你也能夠選擇不修改gitlab.rb直接修改這裏)
vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
找到關鍵字 ## Web server settings
image.png

咱們進到目錄再看一下掛載文件是否同步到外面來了

[root@VM-0-16-centos gitlab]# ls /mnt/gitlab/*
/mnt/gitlab/data:
alertmanager  backups  bootstrapped  gitaly  git-data  gitlab-ci  gitlab-exporter  gitlab-rails  gitlab-shell  gitlab-workhorse  grafana  logrotate  nginx  postgres-exporter  postgresql  prometheus  public_attributes.json  redis  trusted-certs-directory-hash

/mnt/gitlab/etc:
gitlab.rb  gitlab-secrets.json  ssh_host_ecdsa_key  ssh_host_ecdsa_key.pub  ssh_host_ed25519_key  ssh_host_ed25519_key.pub  ssh_host_rsa_key  ssh_host_rsa_key.pub  trusted-certs

/mnt/gitlab/log:
alertmanager  gitaly  gitlab-exporter  gitlab-rails  gitlab-shell  gitlab-workhorse  grafana  logrotate  nginx  postgres-exporter  postgresql  prometheus  puma  reconfigure  redis  redis-exporter  sidekiq  sshd
[root@VM-0-16-centos gitlab]#

這個時候咱們把容器中止再刪除,而後重啓服務

[root@localhost ~]# docker stop [容器ID]
[root@localhost ~]# docker rm [容器ID]
[root@localhost ~]# systemctl restart docker

再來從新建立容器

docker run \
--detach \
--publish 2222:22 \
--publish 8090:8090 \
--publish 8443:443 \
--hostname x.x.x.x \
-v /mnt/gitlab/etc:/etc/gitlab \
-v /mnt/gitlab/log:/var/log/gitlab \
-v /mnt/gitlab/data:/var/opt/gitlab \
-v /etc/localtime:/etc/localtime:ro \
--name gitlab_hw \
--restart always \
--privileged=true gitlab/gitlab-ce:latest

網頁訪問8090端口, 初始用戶爲root

相關文章
相關標籤/搜索