Gitlab----使用Docker方式安装部署Gitlab

简介: Gitlab----使用Docker方式安装部署Gitlab

(1)查询可用docker镜像

docker search gitlab

如下:

[root@iZbp1flzt6x7pxmxfhmxeeZ ~]# docker search gitlab
NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
gitlab/gitlab-ce                             GitLab Community Edition docker image based …   3439                 [OK]
sameersbn/gitlab                             Dockerfile to build a GitLab image for the D…   1178                 [OK]
gitlab/gitlab-runner                         GitLab CI Multi Runner used to fetch and run…   741                  [OK]
gitlab/gitlab-ee                             GitLab Enterprise Edition docker image based…   283
twang2218/gitlab-ce-zh                       汉化的 GitLab 社区版 Docker Image                     249                  [OK]
jangrewe/gitlab-ci-android                   GitLab CI image for building Android apps       59                   [OK]
edbizarro/gitlab-ci-pipeline-php             Docker images for build and test PHP applica…   38
ulm0/gitlab                                  GitLab Docker image for ARM                     36
gitlab/gitlab-runner-helper                                                                  34
klud/gitlab-runner                           GitLab Runner for ARM devices                   27
centurylink/gitlab                           This image uses the image from sameersbn / g…   26                   [OK]
ciricihq/gitlab-sonar-scanner                Gitlab Docker container to run sonar-scanner…   16                   [OK]
gitlab/gitlab-ce-qa                          GitLab QA has a test suite that allows end-t…   6
timoschwarzer/gitlab-monitor                 A browser-based monitor dashboard for GitLab…   4                    [OK]
sgillespie/gitlab-runner                     A Dockerized GitLab Runner that automaticall…   3                    [OK]
samcontesse/gitlab-merge-request-resource    A concourse resource to check for new merge …   3                    [OK]
mastertinner/gitlab-merge-request-resource   A concourse resource to check for new merge …   2                    [OK]
boldcommerce/gitlab-merge-request-resource   Reverted build of Swisscom's resource until …   1                    [OK]
stanfordlegion/gitlab-ci                     An image for Gitlab CI.                         1                    [OK]
lorands/gitlab-merge-request-resource        This is a fork of swisscom/gitlab-merge-requ…   1                    [OK]
edtan1/gitlab-merge-request-resource         GitLab Merge Request resource for ConcourseCI   0                    [OK]
adamkl/gitlab-merge-request-resource         Customized with support for gitlab ssh on di…   0                    [OK]
gitlab/gitlab-ee-qa                          GitLab QA has a test suite that allows end-t…   0
mvisonneau/gitlab-ci-pipelines-exporter      Prometheus / OpenMetrics exporter for GitLab…   0                    [OK]
onaci/gitlab-runner                          auto-registering gitlab runner                  0
[root@iZbp1flzt6x7pxmxfhmxeeZ ~]# 

(2)下载镜像

docker pull gitlab/gitlab-ce

如下:

[root@iZbp1flzt6x7pxmxfhmxeeZ ~]# docker pull gitlab/gitlab-ce
Using default tag: latest
latest: Pulling from gitlab/gitlab-ce
7b1a6ab2e44d: Pull complete
923d8a5a90cb: Pull complete
c9c193ad3afb: Pull complete
ca54c9617521: Pull complete
5c6b771a3e5e: Pull complete
b4823ec4057e: Pull complete
35db6611258b: Pull complete
cd101cdba14c: Pull complete
Digest: sha256:a67074548979a08eba93445c37a5dab09e2a8e4f29b301ec5fc7a05607293121
Status: Downloaded newer image for gitlab/gitlab-ce:latest
docker.io/gitlab/gitlab-ce:latest
[root@iZbp1flzt6x7pxmxfhmxeeZ ~]#
(3)启动服务
docker run -d -p 10008:80 -p 10009:443 -p 10010:22 --restart always --name gitlab -v /docker/gitlab/etc/gitlab:/etc/gitlab -v /docker/gitlab/var/log/gitlab:/var/log/gitlab -v /docker/gitlab/var/opt/gitlab:/var/opt/gitlab --privileged=true gitlab/gitlab-ce

(4)修改gitlab.rb文件

vi /docker/gitlab/etc/gitlab/gitlab.rb

修改如下位置:

# 如果使用公有云且配置了域名了,可以直接设置为域名,如下
external_url 'http://gitlab.redrose2100.com'
# 如果没有域名,则直接使用宿主机的ip,如下
external_url 'http://172.22.27.162'  
# 同样如果有域名,这里也可以直接使用域名
gitlab_rails['gitlab_ssh_host'] =  'gitlab.redrosee2100.com'
# 同样如果没有域名,则直接使用宿主机的ip地址
gitlab_rails['gitlab_ssh_host'] = '172.22.27.162'
# 端口为启动docker时映射的ssh端口
gitlab_rails['gitlab_shell_ssh_port'] =10010 
# 设置时区为东八区,即北京时间
gitlab_rails['time_zone'] = 'Asia/Shanghai'  

(5)关于邮箱发邮件的配置如下

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"   # 邮箱服务器
gitlab_rails['smtp_port'] = 465    # 邮箱服务对应的端口号
gitlab_rails['smtp_user_name'] = "hitredrose@163.com"   # 发件箱的邮箱地址
gitlab_rails['smtp_password'] = "xxxxxxxxxxx"      # 发件箱对应的授权码,注意不是登录密码,是授权码
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'hitredrose@163.com'     # 发件箱地址
gitlab_rails['gitlab_email_display_name'] = 'gitlab.redrose2100.com'    # 显示名称
gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'     # 提示不要回复

(6) 重启docker

docker restart gitlab

(7)进入docker容器里

docker exec -it gitlab bash

(8)修改端口号

vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

如下,将端口修改为映射后的端口
在这里插入图片描述

(9)重启gitlab

直接在docker中执行

gitlab-ctl restart

如:

root@cd6a79be7773:/etc/gitlab# gitlab-ctl restart
ok: run: alertmanager: (pid 4567) 1s
ok: run: gitaly: (pid 4582) 1s
ok: run: gitlab-exporter: (pid 4598) 1s
ok: run: gitlab-workhorse: (pid 4603) 1s
ok: run: grafana: (pid 4610) 1s
ok: run: logrotate: (pid 4619) 1s
ok: run: nginx: (pid 4631) 1s
ok: run: postgres-exporter: (pid 4636) 1s
ok: run: postgresql: (pid 4645) 1s
ok: run: prometheus: (pid 4653) 0s
ok: run: puma: (pid 4670) 1s
ok: run: redis: (pid 4679) 0s
ok: run: redis-exporter: (pid 4689) 1s
ok: run: sidekiq: (pid 4697) 1s
ok: run: sshd: (pid 4703) 1s
root@cd6a79be7773:/etc/gitlab

(10)在浏览器打开 ip:端口号即可访问

这里需要注意,如果使用的是阿里云,需要配置安全组放开端口,如果使用二级域名,同样需要配置Nginx代理进行解析,
在这里插入图片描述

(11)查看root默认密码

cat /docker/gitlab/etc/gitlab/initial_root_password

如:

(12)使用root用户名以及上述查询到的密码登录

在这里插入图片描述

(13)登录后依次点击【头像】-【Edit profile】-【password】,然后修改密码

在这里插入图片描述

(14)至此,gitlab已经安装完成,并已修改密码

目录
相关文章
|
5天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
152 91
|
6天前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
13天前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
72 44
|
21天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
25天前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
58 23
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
49 22
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
66 25
|
1月前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
2月前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
96 8
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈