下载镜像
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详细过程