利用docker搭建gitlab代码仓库

  开工第一天,先恭祝大家2017年鸡年大吉呀!!

  新年的第一篇文档,我来介绍一下怎样利用docker-gitlab来搭建git代码仓库。

  

操作:

1:下载搭建gitlab的相关镜像:(这里使用postgresql数据库)

1
2
3
# docker pull buj7itru.mirror.aliyuncs.com/sameersbn/gitlab:latest
# docker pull buj7itru.mirror.aliyuncs.com/sameersbn/postgresql:9.5-3
# docker pull buj7itru.mirror.aliyuncs.com/sameersbn/redis:latest


2:创建数据存储目录:

1
# mkdir -p /opt/data/docker_gitlab/{gitlab,postgresql,redis}


3:创建docker-compose文件,配置内容如下:

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# more docker-compose.yml
version:  '2'
 
services:
   redis:
     restart: always
     image: sameersbn /redis :latest
     command :
     - --loglevel warning
     volumes:
     /opt/data/docker_gitlab/redis : /var/lib/redis :Z
 
   postgresql:
     restart: always
     image: sameersbn /postgresql :9.5-3
     volumes:
     /opt/data/docker_gitlab/postgresql : /var/lib/postgresql :Z
     environment:
     - DB_USER=gitlab
     - DB_PASS=password
     - DB_NAME=gitlabhq_production
     - DB_EXTENSION=pg_trgm
 
   gitlab:
     restart: always
     image: sameersbn /gitlab :8.13.5
     depends_on:
     - redis
     - postgresql
     ports:
     "10080:80"
     "10022:22"
     volumes:
     /opt/data/docker_gitlab//gitlab : /home/git/data :Z
     environment:
     - DEBUG= false
 
     - DB_ADAPTER=postgresql
     - DB_HOST=postgresql
     - DB_PORT=5432
     - DB_USER=gitlab
     - DB_PASS=password
     - DB_NAME=gitlabhq_production
 
     - REDIS_HOST=redis
     - REDIS_PORT=6379
 
     - TZ=Asia /Kolkata
     - GITLAB_TIMEZONE=Kolkata
 
     - GITLAB_HTTPS= false
     - SSL_SELF_SIGNED= false
 
     - GITLAB_HOST=localhost
     - GITLAB_PORT=10080
     - GITLAB_SSH_PORT=10022
     - GITLAB_RELATIVE_URL_ROOT=
     - GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
     - GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string
     - GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string
 
     - GITLAB_ROOT_PASSWORD=
     - GITLAB_ROOT_EMAIL=
 
     - GITLAB_NOTIFY_ON_BROKEN_BUILDS= true
     - GITLAB_NOTIFY_PUSHER= false
 
     [email protected]
     [email protected]
     [email protected]
 
     - GITLAB_BACKUP_SCHEDULE=daily
     - GITLAB_BACKUP_TIME=01:00
 
     - SMTP_ENABLED= false
     - SMTP_DOMAIN=www.example.com
     - SMTP_HOST=smtp.gmail.com
     - SMTP_PORT=587
     [email protected]
     - SMTP_PASS=password
     - SMTP_STARTTLS= true
     - SMTP_AUTHENTICATION=login
 
     - IMAP_ENABLED= false
     - IMAP_HOST=imap.gmail.com
     - IMAP_PORT=993
     [email protected]
     - IMAP_PASS=password
     - IMAP_SSL= true
     - IMAP_STARTTLS= false
 
     - OAUTH_ENABLED= false
     - OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=
     - OAUTH_ALLOW_SSO=
     - OAUTH_BLOCK_AUTO_CREATED_USERS= true
     - OAUTH_AUTO_LINK_LDAP_USER= false
     - OAUTH_AUTO_LINK_SAML_USER= false
     - OAUTH_EXTERNAL_PROVIDERS=
 
     - OAUTH_CAS3_LABEL=cas3
     - OAUTH_CAS3_SERVER=
     - OAUTH_CAS3_DISABLE_SSL_VERIFICATION= false
     - OAUTH_CAS3_LOGIN_URL= /cas/login
     - OAUTH_CAS3_VALIDATE_URL= /cas/p3/serviceValidate
     - OAUTH_CAS3_LOGOUT_URL= /cas/logout
 
     - OAUTH_GOOGLE_API_KEY=
     - OAUTH_GOOGLE_APP_SECRET=
     - OAUTH_GOOGLE_RESTRICT_DOMAIN=
 
     - OAUTH_FACEBOOK_API_KEY=
     - OAUTH_FACEBOOK_APP_SECRET=
 
     - OAUTH_TWITTER_API_KEY=
     - OAUTH_TWITTER_APP_SECRET=
 
     - OAUTH_GITHUB_API_KEY=
     - OAUTH_GITHUB_APP_SECRET=
     - OAUTH_GITHUB_URL=
     - OAUTH_GITHUB_VERIFY_SSL=
 
     - OAUTH_GITLAB_API_KEY=
     - OAUTH_GITLAB_APP_SECRET=
 
     - OAUTH_BITBUCKET_API_KEY=
     - OAUTH_BITBUCKET_APP_SECRET=
 
     - OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=
     - OAUTH_SAML_IDP_CERT_FINGERPRINT=
     - OAUTH_SAML_IDP_SSO_TARGET_URL=
     - OAUTH_SAML_ISSUER=
     - OAUTH_SAML_LABEL= "Our SAML Provider"
     - OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid- format :transient
     - OAUTH_SAML_GROUPS_ATTRIBUTE=
     - OAUTH_SAML_EXTERNAL_GROUPS=
     - OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=
     - OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=
     - OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=
     - OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME=
 
     - OAUTH_CROWD_SERVER_URL=
     - OAUTH_CROWD_APP_NAME=
     - OAUTH_CROWD_APP_PASSWORD=
 
     - OAUTH_AUTH0_CLIENT_ID=
     - OAUTH_AUTH0_CLIENT_SECRET=
     - OAUTH_AUTH0_DOMAIN=
 
     - OAUTH_AZURE_API_KEY=
     - OAUTH_AZURE_API_SECRET=
     - OAUTH_AZURE_TENANT_ID=


4:利用docker-compose创建docker服务:

1
2
3
4
# docker-compose up -d
Creating root_postgresql_1
Creating root_redis_1
Creating root_gitlab_1

 

5:由于在compose文件中,我映射了10080端口,我们可以利用这个端口登录,页面会提示你修改密码,之后以root用户与你修改后的密码登录系统即可

wKioL1iT92Ly6zwtAAC1AAS3zA8027.png










本文转自 icenycmh 51CTO博客,原文链接:http://blog.51cto.com/icenycmh/1894621,如需转载请自行联系原作者