2024最新docker部署gitlab

本文详细介绍了如何使用Docker部署GitLab,涉及快速拉取镜像、启动容器、配置文件修改(包括Linux端口开放、外部URL、SMTP邮箱设置等)、让配置生效以及管理员登录和密码管理。
摘要由CSDN通过智能技术生成

docker部署gitlab

快速命令

1 拉取镜像

docker pull gitlab/gitlab-ce

2 启动容器

docker run -itd  \

 -p 9980:80 \

 -p 9922:22 \

 -v /opt/soft/docker/gitlab/etc:/etc/gitlab  \

 -v /opt/soft/docker/gitlab/log:/var/log/gitlab \

 -v /opt/soft/docker/gitlab/opt:/var/opt/gitlab \

 --restart always \

 --privileged=true \

 --name gitlab \

 gitlab/gitlab-ce

/opt/soft/docker/gitlab/opt 是宿主机 也就是外面的机器。

这个会自动创建

-i 以交互模式运行容器,通常与 -t 同时使用命令解释

-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用

-d 后台运行容器,并返回容器ID

-p 9980:80将容器内80端口映射至宿主机9980端口,这是访问gitlab的端口

-p 9922:22将容器内22端口映射至宿主机9922端口,这是访问ssh的端口

-v /opt/soft/docker/gitlab/etc:/etc/gitlab将容器/etc/gitlab目录挂载到宿主机/opt/soft/docker/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样

--restart always容器自启动

--privileged=true让容器获取宿主机root权限

--name gitlab设置容器名称为gitlab

gitlab/gitlab-ce镜像的名称,这里也可以写镜像ID

3 修改配置文件并配置邮箱

注意:这里是把4.3放到4.2后面配置,然后再操作4.4。原因是希望在4.4中统一修改端口,如果4.3和4.2分开配置,会容易遗漏修改4.4中的端口,从而在clone项目时,导致链接中没有端口的bug。

4、配置环境

4.1 开放linux端口

先开放gitlab使用的linux端口。

1.开放服务器端口


firewall-cmd --zone=public --add-port=9980/tcp --permanent

firewall-cmd --zone=public --add-port=9922/tcp --permanent

云服务器 需要放开9980 9922

2. 重启防火墙
firewall-cmd --reload
3.查询有哪些端口是开启的
firewall-cmd --list-port

4.2 设置IP、端口

以下操作均在容器中执行

进入容器

docker exec -it gitlab /bin/bash

修改配置文件

vi /etc/gitlab/gitlab.rb

在开头加入以下内容:

公网ip: 你的ip

111.231.74.191

**注意:**external_url 的地址后面不能加端口,否则即使部署成功也无法访问。

#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://111.231.74.191'
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '111.231.74.191'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922
#时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#开启备份功能
gitlab_rails['manage_backup_path'] = true
#备份文件的权限
gitlab_rails['backup_archive_permissions'] = 0644
#保存备份 60 天
gitlab_rails['backup_keep_time'] = 5184000

4.3 配置邮箱

邮箱是企业进行工作中的通知,交互必不可少的部分,gitlab同样支持邮箱的配置,方便对一些操作有邮件的提醒。

开启smtp功能

注意事项:一定要搞清楚邮件服务的端口到底是哪个,不然配置完后测试邮件发送会提示链接超时,也可以在docker部署的gitlab容器内

telnet IP 端口 来判断邮箱的地址和端口是否正确,如果正确则不报错,后面也会给出具体的配置。

QQ邮箱SMTP 服务器地址及端口

img

163邮箱SMTP 服务器地址及端口

img

进入gitlab容器内部修改配置

docker exec -it gitlab /bin/bash

建议先在器内 telnet IP 端口 来确定邮件的SMTP服务能否链接上。

修改配置文件

vi /etc/gitlab/gitlab.rb

QQ邮箱:【注意端口】推荐,因为163邮箱可能会出现telnet端口不通的问题。

经测试,QQ的英文邮箱和数字邮箱可以共用同一个授权码。

gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = 'smtp.qq.com'

gitlab_rails['smtp_port'] = 587

gitlab_rails['smtp_user_name'] = '发件邮箱'

gitlab_rails['smtp_password'] = '第三方登录授权码'

gitlab_rails['smtp_domain'] = 'smtp.qq.com'

gitlab_rails['smtp_authentication'] = 'login'

gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['smtp_tls'] = false

gitlab_rails['smtp_pool'] = '发件邮箱'

gitlab_rails['gitlab_email_enabled'] = true

gitlab_rails['gitlab_email_from'] = '发件邮箱'

# gitlab_rails['gitlab_email_display_name'] = 'Example'

163邮箱:【注意端口】

gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = 'smtp.163.com'

gitlab_rails['smtp_port'] = 25

gitlab_rails['smtp_user_name'] = '发件邮箱'

gitlab_rails['smtp_password'] = '第三方登录授权码'

gitlab_rails['smtp_domain'] = 'smtp.163.com'

gitlab_rails['smtp_authentication'] = 'login'

gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['smtp_tls'] = false

gitlab_rails['smtp_pool'] = '发件邮箱'

 

gitlab_rails['gitlab_email_enabled'] = true

gitlab_rails['gitlab_email_from'] = '发件邮箱'

# gitlab_rails['gitlab_email_display_name'] = 'Example'

以上两个厂商的邮箱配置已验证,可用。

5、gitlab.rc统一配置

673170360@qq.com

‘gitlab的密码’

输入命令:telnet smtp.qq.com 587

220 newxmesmtplogicsvrszb9-0.qq.com XMail Esmtp QQ Mail Server.

111.231.74.191 是我的公网ip 要换成你的

#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://111.231.74.191'
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '111.231.74.191'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922
#时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#开启备份功能
gitlab_rails['manage_backup_path'] = true
#备份文件的权限
gitlab_rails['backup_archive_permissions'] = 0644
#保存备份 60 天
gitlab_rails['backup_keep_time'] = 5184000

 

 

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = 'smtp.qq.com'
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = '你的邮箱(需要修改)'
gitlab_rails['smtp_password'] = '你的邮箱授权(需要修改)'
gitlab_rails['smtp_domain'] = 'smtp.qq.com'
gitlab_rails['smtp_authentication'] = 'login'
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_pool'] = 你的邮箱(需要修改)'
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '你的邮箱(需要修改)'
# gitlab_rails['gitlab_email_display_name'] = '君临'

5.1 让配置生效

在4.2、4.3都配置完毕后再执行4.4的步骤。

让配置生效

gitlab-ctl reconfigure

输入命令后,会执行一系列操作,直到最后出现:gitlab Reconfigured!

修改gitlab.yaml 文件

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

默认为80端口,修改端口号为之前配置的端口

img

重启gitlab服务

gitlab-ctl restart

测试执行gitlab-rails console进入控制台交互界面,然后在控制台提示符后输入下面内容发送一封测试邮件,测试完成后exit()退出。

gitlab-rails console

# 示例

Notify.test_email('你的邮箱地址', 'GitLab email', 'Hello world').deliver_now

img

img

退出容器

exit;

6、管理员登录Gitlab

查找管理员(root)的密码,进入容器

docker exec -it gitlab /bin/bash

查看初始密码

cat /etc/gitlab/initial_root_password

你的密码*

img

登录

111.231.74.191:9980

root

***你的密码****

账号:root

密码:【上一步查看的密码】

修改超级管理员的密码

7、关闭用户自动注册功能

tips:自己记录一下。不用管

http://111.231.74.191:9980/projects/new#blank_project

111.231.74.191

参考
http://t.csdnimg.cn/9YTZz

  • 25
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Windows上使用Docker部署GitLab,可以按照以下步骤进行操作: 1. 首先,你需要下载并安装Docker Desktop for Windows。Docker Desktop是一个Windows平台上的Docker应用容器引擎。 2. 安装完成后,打开命令提示符(cmd)窗口,运行以下命令来拉取GitLab的镜像文件: ``` docker pull gitlab/gitlab-ce ``` 这个命令将从Docker Hub上下载最新GitLab Community Edition(gitlab-ce)的镜像文件。 3. 下载完成后,你需要创建本地映射文件夹来存储GitLab的配置、日志和数据文件。在命令提示符窗口中运行以下命令: ``` mkdir D:\DockerData\GitlabData\config mkdir D:\DockerData\GitlabData\log mkdir D:\DockerData\GitlabData\data ``` 这些命令将在D盘下创建相应的文件夹,用于存储GitLab的配置、日志和数据文件。 4. 最后,你可以运行以下命令来启动GitLab容器: ``` docker run -d ^ --hostname localhost ^ -p 80:80 ^ -p 443:443 ^ --name gitlab ^ --restart unless-stopped ^ -v D:\DockerData\GitlabData\config:/etc/gitlab ^ -v D:\DockerData\GitlabData\log:/var/log/gitlab ^ -v D:\DockerData\GitlabData\data:/var/opt/gitlab ^ gitlab/gitlab-ce:latest ``` 这个命令将在Docker中创建并运行一个GitLab容器。通过端口映射,你可以通过浏览器访问`http://localhost`来打开GitLab的界面。 在这个命令中,你需要根据实际情况修改文件夹路径和主机名等参数。 通过以上步骤,在Windows上使用Docker部署GitLab就可以顺利完成了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [windows使用docker部署gitlab](https://blog.csdn.net/qq563129582/article/details/128190394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值