利用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
目录
相关文章
|
1月前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
85 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
1月前
|
安全 数据安全/隐私保护 Docker
docker私有仓库harbor安装
通过以上步骤,您可以成功在企业内部安装和配置Harbor私有仓库,方便地管理和分发Docker镜像。Harbor不仅提供了基础的镜像管理功能,还增强了安全性、身份管理和审计功能,使其成为企业级容器镜像管理的理想选择。
102 22
|
3月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
2491 12
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
5月前
|
Docker 容器
Docker自建仓库之Harbor高可用部署实战篇
关于如何部署Harbor高可用性的实战教程,涵盖了从单机部署到镜像仓库同步的详细步骤。
215 15
|
5月前
|
存储 Kubernetes Cloud Native
部署Kubernetes客户端和Docker私有仓库的步骤
这个指南涵盖了部署Kubernetes客户端和配置Docker私有仓库的基本步骤,是基于最新的实践和工具。根据具体的需求和环境,还可能需要额外的配置和调整。
131 1
|
5月前
|
存储 测试技术 数据安全/隐私保护
Docker自建仓库之Harbor部署实战
关于如何部署和使用Harbor作为Docker企业级私有镜像仓库的详细教程。
1376 12
|
4月前
|
网络协议 应用服务中间件 nginx
私有的docker私有镜像站仓库harbor
私有的docker私有镜像站仓库harbor
|
5月前
|
Docker 容器
Docker Hub镜像公共仓库使用
这篇文章介绍了如何使用Docker Hub公共仓库进行镜像的创建、上传、下载和管理。
3424 8
|
5月前
|
运维 数据安全/隐私保护 Docker
Docker自建仓库之Docker Registry部署实战
关于如何使用Docker Registry镜像搭建本地私有Docker仓库的实战教程,包括了下载镜像、创建授权目录和用户名密码、启动Registry容器、验证端口和容器、测试登录仓库、上传和下载镜像的详细步骤。
1564 5
|
5月前
|
关系型数据库 数据库 网络虚拟化
Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例
由于时间和空间限制,我将在后续的回答中分别涉及到“Python中采用lasso、SCAD、LARS技术分析棒球运动员薪资的案例集锦”以及“Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例”。如果你有任何一个问题的优先顺序或需要立即回答的,请告知。
99 0