Docker实战之Gitlab搭建

前言

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。

搭建过程

docker-compose-gitlab.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
web:
image: 'gitlab/gitlab-ce:latest'
container_name: gitlab
restart: always
hostname: '192.168.124.5:8888'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.124.5'
# Add any other gitlab.rb configuration here, each on its own line
# nginx
# nginx['redirect_http_to_https'] = true
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/tfss.me.cer"
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/tfss.me.key"
# nginx['real_ip_header'] = 'X-Real-IP'
# nginx['real_ip_recursive'] = 'on'
# nginx['listen_port'] = 8081
# email setting
# gitlab_rails['smtp_enable'] = true
# gitlab_rails['smtp_address'] = "smtp.gmail.com"
# gitlab_rails['smtp_port'] = 587
# gitlab_rails['smtp_user_name'] = "my.email@gmail.com"
# gitlab_rails['smtp_password'] = "my-gmail-password"
# gitlab_rails['smtp_domain'] = "smtp.gmail.com"
# gitlab_rails['smtp_authentication'] = "login"
# gitlab_rails['smtp_enable_starttls_auto'] = true
# gitlab_rails['smtp_tls'] = false
# gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
ports:
- '8888:80'
- '442:443'
- '21:22'
volumes:
- '$HOME/app/gitlab/config:/etc/gitlab'
- '$HOME/app/gitlab/logs:/var/log/gitlab'
- '$HOME/app/gitlab/data:/var/opt/gitlab'

启动

1
docker-compose -f docker-compose-gitlab.yml up -d

访问

1
http://192.168.124.5:8888/

然后设置初始root密码即可。

最后

谨以此做笔记,方便开发测试。