gitlab docker 镜像部署

下载镜像

docker pull gitlab/gitlab-ce:12.5.4-ce.0

run运行

docker run --detach \
--hostname gitlab.example.com \
--publish 3443:443 --publish 3080:3080 --publish 3022:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:12.5.4-ce.0

docker-compose运行

docker-compose.yaml

version: '3.5'
services:
  gitea:
    container_name: gitlab
    image: gitlab/gitlab-ce:latest #gitlab/gitlab-ce:12.5.4-ce.0
    restart: always
    volumes:
    - /data/gitlab/config:/etc/gitlab
    - /data/gitlab/logs:/var/log/gitlab
    - /data/gitlab/data:/var/opt/gitlab
    expose:
    - "22"
    - "443"
    - "5080"
    ports:
    - "3443:443"
    - "3080:3080"
    - "3022:22"
    networks:
    - gitlib_net
networks:
  gitlib_net:

定制http访问URL

修改
config/gitlab.rb

  • external_url http访问地址,如http://192.168.3.10:8084,修改http请求的地址,端口为8084(默认是80)。
  • gitlab_rails['gitlab_ssh_host'] portal页面展示的ssh协议的地址
  • gitlab_rails['gitlab_shell_ssh_port'] portal页面展示的ssh协议的端口

注意:
1, http或者https的端口必须映射相同,并同external_url里面的端口一样。
2, 执行gitlab-ctl reconfigure命令是,external_url变量会同步到gitlab/data/gitlab-rails/etc/gitlab.yml配置中

[root@nw61 config]# diff gitlab.rb ../gitlab.rb 
23c23
<  external_url 'https://mwbklab.mvaas.cn'
---
> # external_url 'GENERATED_EXTERNAL_URL'
56c56
<  gitlab_rails['gitlab_ssh_host'] = '10.14.202.61'
---
> # gitlab_rails['gitlab_ssh_host'] = 'ssh.host_example.com'
453c453
<  gitlab_rails['gitlab_shell_ssh_port'] = 3022
---
> # gitlab_rails['gitlab_shell_ssh_port'] = 22

修改数据库路径

默认的Gitlab数据存储路径,在目录/var/opt/gitlab/git-data下,防止以后数据过大,所以可以修改路径存储为/data/gitlabData

`#edited by ouyangpeng 2017-8-10  配置gitlab的数据存储位置为/data目录下,保证硬盘安全`
`git_data_dirs({ ``"default"` `=> { ``"path"` `=> ``"/data/gitlabData"` `} })`

配置并启动GitLab

修改了GitLab的ip地址一样,临时修改了GitLab的配置之后,得执行如下的命令,应用重新配好的配置并重启GitLab,然后查看GitLab的状态。
因为是容器,所以要进入到gitlab容器中执行命令

docker exec -ti gitlab /bin/bash

然后

gitlab-ctl reconfigure  #把gitlab.rb配置生效,花时间比较多
gitlab-ctl restart    #改IP重启就可以了
gitlab-ctl status #看状态

常用管理命令

# 重新应用gitlab的配置
gitlab-ctl reconfigure
 
# 重启gitlab服务
gitlab-ctl restart
 
# 查看gitlab运行状态
gitlab-ctl status
 
#停止gitlab服务
gitlab-ctl stop
 
# 查看gitlab运行日志
gitlab-ctl tail
 
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sideki

备份和恢复

备份

gitlab-rake gitlab:backup:create

备份文件默认存放目录:
/var/opt/gitlab/backups/,
备份文件以 时间戳_gitlab_backup.tar 命名:1528446365_2018_06_08_10.8.4_gitlab_backup.tar
恢复

gitlab-rake gitlab:backup:restore BACKUP=1528446365_2018_06_08_10.8.4

恢复命令:gitlab-rake gitlab:backup:restore BACKUP=备份文件时间戳,恢复的时候如果版本不一致,可能报错

错误

docker启动报错信息如下

Error response ``from` `daemon: driver failed programming external connectivity ``on` `endpoint quirky_allen解决:

解决
检查docker端口映射是否冲突
重启docker服务后再启动容器

官网文档
docker安装配置gitlab详细过程

你可能感兴趣的:(gitlab docker 镜像部署)