利用docker搭建gitlab代码仓库

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
云原生数据库 PolarDB MySQL 版,通用型 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
目录
相关文章
|
5月前
|
运维 Java Devops
阿里云云效操作报错合集之在进行GitLab代码分支迁移时遇到报错,一般是什么原因
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
6月前
|
应用服务中间件 nginx Docker
Docker部署Nginx以及挂载数据卷(代码详细展示)_nginx 挂载大文件卷(1)
Docker部署Nginx以及挂载数据卷(代码详细展示)_nginx 挂载大文件卷(1)
|
2月前
|
关系型数据库 数据库 网络虚拟化
Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例
由于时间和空间限制,我将在后续的回答中分别涉及到“Python中采用lasso、SCAD、LARS技术分析棒球运动员薪资的案例集锦”以及“Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例”。如果你有任何一个问题的优先顺序或需要立即回答的,请告知。
69 0
|
3月前
|
Shell 云计算 Docker
零基础到容器技术大神,一键解锁Docker实战秘籍!从零搭建,见证你的技术飞跃,让代码在云端翩翩起舞!
【8月更文挑战第5天】在云计算与微服务当道的今天,容器技术如汹涌浪潮般席卷IT领域。对新手而言,它或许充满神秘,但无须担忧,让我们一同揭开它的面纱。容器是一种轻量级软件打包技术,允许应用及其依赖被打包,在独立的虚拟环境中运行。Docker作为容器界的明星,简化了容器的创建与管理。从安装Docker开始,运行首个容器,深入容器内部执行命令,直至构建自定义镜像,我们将逐步掌握这项关键技术。这不仅是一场技术之旅,更是思维方式的革新,让我们携手探索未来。
72 6
|
2月前
|
Docker 容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
|
5月前
|
持续交付 开发工具 git
阿里云云效产品使用问题之在云效代码域中gitlab使用docker安装的,迁移时遇到“获取企业信息失败”,是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
应用服务中间件 网络安全 nginx
docker 搭建 最新版本的 gitlab,使用HTTPS访问,以及gitlab的基础使用讲解
docker 搭建 最新版本的 gitlab,使用HTTPS访问,以及gitlab的基础使用讲解
|
5月前
|
敏捷开发 Kubernetes 测试技术
阿里云云效产品使用问题之代码关联能关联自建的gitlab吗
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
运维 Serverless 开发工具
函数计算产品使用问题之通过GitLab仓库来部署代码,该如何配置GitLab仓库
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
数据安全/隐私保护
解决使用SourceTree下载GitLab服务器上的代码每次都需要输入密码问题
解决使用SourceTree下载GitLab服务器上的代码每次都需要输入密码问题
133 2
下一篇
无影云桌面