利用docker搭建gitlab代码仓库

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介:

  开工第一天,先恭祝大家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
 
     - GITLAB_EMAIL=notifications@example.com
     - GITLAB_EMAIL_REPLY_TO=noreply@example.com
     - GITLAB_INCOMING_EMAIL_ADDRESS=reply@example.com
 
     - 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
     - SMTP_USER=mailer@example.com
     - SMTP_PASS=password
     - SMTP_STARTTLS= true
     - SMTP_AUTHENTICATION=login
 
     - IMAP_ENABLED= false
     - IMAP_HOST=imap.gmail.com
     - IMAP_PORT=993
     - IMAP_USER=mailer@example.com
     - 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,如需转载请自行联系原作者
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2天前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
4月前
|
Docker 容器
Docker自建仓库之Harbor高可用部署实战篇
关于如何部署Harbor高可用性的实战教程,涵盖了从单机部署到镜像仓库同步的详细步骤。
178 15
|
4月前
|
存储 Kubernetes Cloud Native
部署Kubernetes客户端和Docker私有仓库的步骤
这个指南涵盖了部署Kubernetes客户端和配置Docker私有仓库的基本步骤,是基于最新的实践和工具。根据具体的需求和环境,还可能需要额外的配置和调整。
106 1
|
3月前
|
网络协议 应用服务中间件 nginx
私有的docker私有镜像站仓库harbor
私有的docker私有镜像站仓库harbor
|
4月前
|
存储 测试技术 数据安全/隐私保护
Docker自建仓库之Harbor部署实战
关于如何部署和使用Harbor作为Docker企业级私有镜像仓库的详细教程。
1119 12
|
4月前
|
Docker 容器
Docker Hub镜像公共仓库使用
这篇文章介绍了如何使用Docker Hub公共仓库进行镜像的创建、上传、下载和管理。
2215 8
|
4月前
|
运维 数据安全/隐私保护 Docker
Docker自建仓库之Docker Registry部署实战
关于如何使用Docker Registry镜像搭建本地私有Docker仓库的实战教程,包括了下载镜像、创建授权目录和用户名密码、启动Registry容器、验证端口和容器、测试登录仓库、上传和下载镜像的详细步骤。
1229 5
|
5月前
|
存储 Docker 容器
阿里云私有docker仓库构建海外镜像
【8月更文挑战第25天】
470 3
|
4月前
|
应用服务中间件 nginx 数据安全/隐私保护
使用Harbor搭建Docker私有仓库
Harbor是一款开源的企业级Docker仓库管理工具,分为私有与公有仓库两种类型,其中私有仓库被广泛应用于运维场景。Harbor提供图形化界面,便于直观操作,并且其核心组件均由容器构建而成,因此安装时需预先配置Docker及docker-compose。Harbor支持基于项目的用户与仓库管理,实现细粒度的权限控制;具备镜像复制、日志收集等功能,并可通过UI直接管理镜像,支持审计追踪。部署Harbor涉及配置文件调整、登录认证等步骤,并可通过客户端进行镜像的上传、拉取等操作。系统内置多种角色,包括受限访客、访客、开发者、维护人员及管理员,以满足不同场景下的使用需求。
174 0
|
5月前
|
jenkins 网络安全 持续交付
Jenkins Pipeline 流水线 - 上传文件 Publish over SSH + Docker 编译 + 上传到阿里仓库
Jenkins Pipeline 流水线 - 上传文件 Publish over SSH + Docker 编译 + 上传到阿里仓库
173 0

热门文章

最新文章