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已经安装完成,并已修改密码

目录
相关文章
|
1月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
390 108
|
26天前
|
运维 Devops 持续交付
揭秘 Docker 自动部署神器 Websoft9:热门开源软件一键部署
在企业IT建设中,软件部署常面临效率低、易出错等问题。通过Docker与自动化工具,可实现高效、标准化和可追溯的部署流程,提升企业应用交付效率,降低运维门槛,助力中小企业实现自动化部署。
124 5
揭秘 Docker 自动部署神器 Websoft9:热门开源软件一键部署
|
1月前
|
设计模式 Linux 开发工具
Docker部署会吗?
本段内容主要介绍了Docker常用命令、Linux基础指令及日志查看方法,还涉及SpringMVC的执行流程、设计模式与注解,适合用于面试中技术能力的展示。
58 0
|
2月前
|
搜索推荐 应用服务中间件 数据安全/隐私保护
【Docker项目实战】使用Docker部署Organizr个人导航页
【Docker项目实战】使用Docker部署Organizr个人导航页
344 76
【Docker项目实战】使用Docker部署Organizr个人导航页
|
3月前
|
运维 监控 数据可视化
容器化部署革命:Docker实战指南
容器化部署革命:Docker实战指南
|
3月前
|
存储 运维 安全
Docker化运维:容器部署的实践指南
Docker化运维:容器部署的实践指南
|
2月前
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
435 17
【Docker项目实战】使用Docker部署dufs文件服务器
|
2月前
|
供应链 测试技术 开发者
用 Docker 轻松部署 ERPNext 15:多场景实战指南
ERPNext 15 是一款功能全面的开源企业资源规划系统,结合 Docker 容器化部署,具备高效、灵活、低成本等优势。适用于小微企业数字化起步、多分支机构协同办公、开发者测试环境搭建、短期项目管理及企业内部培训等多种场景。模块化设计支持按需扩展,满足不同规模企业需求,是实现高效企业管理的理想选择。
用 Docker 轻松部署 ERPNext 15:多场景实战指南
|
1月前
|
关系型数据库 MySQL 数据库
为什么 MySQL 不推荐用 Docker 部署?
本文探讨了MySQL是否适合容器化的问题,分析了Docker容器在数据安全、性能瓶颈、状态管理及资源隔离等方面的挑战,并指出目前主流分布式数据库如TDSQL和OceanBase仍倾向于部署在物理机或KVM上。