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

相关文章
相关标签/搜索