Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用

这篇具有很好参考价值的文章主要介绍了Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

官方 gitlab 文档
我的系统是 arm 架构的 ubuntu
官网没有提供 arm 架构的 docker 的 gitlab 的安装方式,直接安装的也是后来加的,文档也是随笔带过,,,我用到了,记录一下

默认已经安装了 docker
在 docker hub 里有人编译了 arm 架构的 gitlab 的 docker 镜像,并且有很多人在使用,最近也在更新,就是这个yrzr/gitlab-ce-arm64v8

如果不是 arm 架构的话可以直接参考上面的官方文档,安装使用官方的方法,后面配置和备份基本一致

安装

拉取镜像并启动容器

docker run \
  --detach \
  --restart always \
  --name gitlab-ce \
  --privileged \
  --memory 4096M \
  --publish 22:22 \
  --publish 80:80 \
  --publish 443:443 \
  --hostname gitlab.example.com \
  --env GITLAB_OMNIBUS_CONFIG=" \
    nginx['redirect_http_to_https'] = true; "\
  --volume /srv/gitlab-ce/conf:/etc/gitlab:z \
  --volume /srv/gitlab-ce/logs:/var/log/gitlab:z \
  --volume /srv/gitlab-ce/data:/var/opt/gitlab:z \
  yrzr/gitlab-ce-arm64v8:latest

有可能分行的话不好改,下面直接弄成一行了,方便修改

docker run --detach --restart always --name gitlab-ce --privileged --memory 4096M --publish 22:22 --publish 80:80 --publish 443:443 --hostname gitlab.example.com --env GITLAB_OMNIBUS_CONFIG="nginx['redirect_http_to_https'] = true; " --volume /srv/gitlab-ce/conf:/etc/gitlab:z --volume /srv/gitlab-ce/logs:/var/log/gitlab:z --volume /srv/gitlab-ce/data:/var/opt/gitlab:z yrzr/gitlab-ce-arm64v8:latest

上面命令根据自己需求更改,比如 22、80、443 端口映射,还有访问域名和下面的配置文件日志文件映射位置

我这里解析一下域名,解析为 gitlab.siyongwei.com,如果服务器上什么都没有专门安装 gitlab,倒是可以直接安装,我这里因为在服务器上已经安装了宝塔面板,又放了挺多网站,所以 80 端口、443 端口和 22 端口都已经被占用,如果说直接把 80 端口映射成其他端口,在访问域名的时候后面还需要加上端口,不美观也不方便,所以还想着安装之后直接使用域名就可以直接访问,因此我这里仅映射 80 端口,然后通过反向代理使域名可以直接访问

docker run \
  --detach \
  --restart always \
  --name gitlab-ce \
  --privileged \
  --memory 4096M \
  --publish 8089:80 \
  --hostname gitlab.siyongwei.com \
  --env GITLAB_OMNIBUS_CONFIG=" \
    nginx['redirect_http_to_https'] = true; "\
  --volume /srv/gitlab-ce/conf:/etc/gitlab:z \
  --volume /srv/gitlab-ce/logs:/var/log/gitlab:z \
  --volume /srv/gitlab-ce/data:/var/opt/gitlab:z \
  yrzr/gitlab-ce-arm64v8:latest

这下面是我改过的,方便我自己复制用的。。。

docker run --detach --restart always --name gitlab-ce --privileged --memory 4096M --publish 8089:80 --hostname gitlab.siyongwei.com --env GITLAB_OMNIBUS_CONFIG="nginx['redirect_http_to_https'] = true; " --volume /srv/gitlab-ce/conf:/etc/gitlab:z --volume /srv/gitlab-ce/logs:/var/log/gitlab:z --volume /srv/gitlab-ce/data:/var/opt/gitlab:z yrzr/gitlab-ce-arm64v8:latest

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

可以看到已经启动了

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

然后添加一个站点,配置反向代理,我这里直接使用的宝塔面板可视化配置,不使用宝塔面板的话可以直接更改 nginx 的配置文件配置反向代理

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

我这里顺便加了 ssl 证书,证书也很方便,我这里使用的之前 acme.sh 申请的自动续期的通配符证书,可以看[post cid=“178” cover=“” size=“small”/]
然后就直接可以访问到了,如果打开网站是 502 不用怕,因为这个初始化启动需要挺长时间,等几分钟就可以了

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

登录

这里用户名时 root,密码可以输入下面命令查看,这条命令在官网也是有的

sudo docker exec -it gitlab-ce grep 'Password:' /etc/gitlab/initial_root_password

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

密码文件将在 24 小时后的第一次重新配置运行中自动删除
Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

至此,登陆成功

修改语言,默认安装完成是英文,可以修改成中文或其他语言,右上角头像—Edit profile—Preferences—Localization—Language—Save changes,即可,修改完成后要刷新一下

其他资料就不说了

配置邮件传输

修改 gitlab.rb 配置文件,按上面映射,文件位置在/srv/gitlab-ce/conf/gitlab.rb

vim /srv/gitlab-ce/conf/gitlab.rb

正常模式下键入/smtp搜索配置邮件位置
Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

配置可参考官方配置文档 邮件传输协议

我这里用 QQ 的 smtp 服务,下面是配置示例,要把下面的gitlab_email_from注释也取消

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

配置依次是是否开启邮件服务邮件服务地址端口发送名(填写邮件地址)邮件授权码(获取方法网上很好找,随便都能搜到,这里不多赘述)邮件发送域名,后面不懂,最后一个是发送者(填写邮件地址)

配置完成后保存
使用下面命令进入 gitlab-ce 的 docker 容器

docker exec -it gitlab-ce /bin/bash

使用下面命令重新加载 gitlab 的配置文件

gitlab-ctl reconfigure

测试邮件传输是否可用

GitLab 给提供了测试邮件是否可用的方法,使用 Rails 控制台验证 GitLab 是否可以正确发送电子邮件

执行下面命令进入控制台

gitlab-rails console

然后在控制台提示符下输入以下命令,使 GitLab 发送测试电子邮件

Notify.test_email('收件邮箱','Message Subject','Message Body').deliver_now

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

可以看到邮件发送成功

然后就可以修改用户的电子邮件了,因为电子邮件需要做验证

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

验证后在用户资料修改一下添加的邮箱,就可以把默认的admin@example.com删掉了,因为默认的是示例,不可以正常使用

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

备份与还原

参考官网备份还原

备份

这里我添加了一个测试用的存储库

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

备份命令

docker exec -t <容器名> gitlab-backup create

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

备份完成有句提示,说 gitlab.rb 和 gitlab-secrets.json 要手动备份,按上面文件映射,这两个文件就在/srv/gitlab-ce/conf/文件夹内

还有其他增量备份、特定存储库备份等乱七八糟的类别的备份方式,具体可以看上面官方文档

还原

这里我存了一下刚才备份的两个文件和执行备份命令生成的压缩包
Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

然后我把容器、镜像、还有前面的映射出来的 srv 下的 gitlab-ce 目录都删掉,重新拉取一下镜像,启动容器,登录一下可以看到都变成初始状态了
Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

停止连接数据库的进程命令

docker exec -it <容器名> gitlab-ctl stop puma
docker exec -it <容器名> gitlab-ctl stop sidekiq

停止后检查一下状态

docker exec -it <容器名> gitlab-ctl status

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

恢复备份命令

docker exec -it <容器名> gitlab-backup restore BACKUP=<备份文件的时间戳(也就是备份文件文件名去掉_gitlab_backup.tar)>

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

然后让输入两次 yes 进行确认,恢复后会提示 gitlab.rb 和 gitlab-secrets.json 需要手动恢复

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

然后把这两个文件移动到/srv/gitlab-ce/conf/文件夹内,覆盖掉原来的文件

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

然后重启一下容器

docker restart <容器名>

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

检查 gitlab

docker exec -it <容器名> gitlab-rake gitlab:check SANITIZE=true

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

查看 gitlab,可以看到存储库和用户资料都已经恢复了

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

自动化备份

使用 corn 自动化备份可以参考官方文档配置 cron 以进行每日备份

我这里因为之前有用到宝塔面板计划任务备份网站和数据库,所以直接使用宝塔面板的计划任务实施自动化备份

首先每天 0 点 05 执行备份 gitlab 命令

Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

然后可以添加下面的 shell 脚本把配置文件和备份的 tar 压缩文件复制/移动到 gitlab 网站文件夹内,然后就方便备份到外部网盘中了

dir1="/www/wwwroot/gitlab/backup-conf/"$(date "+%Y_%m_%d")
if [ ! -d "$dir1" ];then
mkdir $dir1
echo "${dar1}创建文件夹成功"
cp /srv/gitlab-ce/conf/gitlab-secrets.json $dir1
echo "已备份gitlab-secrets.json"
cp /srv/gitlab-ce/conf/gitlab.rb $dir1
echo "已备份gitlab.rb"
rm -rf $(find /www/wwwroot/gitlab/backup-conf/* -mtime +1);
echo "已删除2天前的文件夹"
else
echo "今日已备份conf配置文件"
fi

dir2="/www/wwwroot/gitlab/backup-tar/"$(date "+%Y_%m_%d")
if [ ! -d "$dir2" ];then
mkdir $dir2
echo "${dar2}创建文件夹成功"
mv /srv/gitlab-ce/data/backups/*$(date "+%Y_%m_%d")* $dir2
echo "已备份tar压缩文件"
rm -rf $(find /www/wwwroot/gitlab/backup-tar/* -mtime +1);
echo "已删除2天前的文件夹"
else
echo "今日已备份tar压缩文件"
fi

执行脚本的前提要先手动创建/www/wwwroot/gitlab/backup-conf//www/wwwroot/gitlab/backup-tar/文件夹

这个脚本是在 gitlab 网站文件夹的backup-conf文件夹和backup-tar文件夹内创建年_月_日格式的文件夹,创建完成后将/srv/gitlab-ce/conf/gitlab-secrets.json/srv/gitlab-ce/conf/gitlab.rb配置文件复制到backup-conf里的年_月_日文件夹内,将 docker 命令备份的 tar 压缩文件移动到backup-tar里的年_月_日文件夹内

至此,完成整体的备份
再加上宝塔面板自带的备份网站计划任务就可以备份到其他网盘中了
Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用,# Linux,开放工具,gitlab

文章来源地址https://www.toymoban.com/news/detail-701523.html

❀❀❀❀❀❀ 完结散花 ❀❀❀❀❀❀
Written ❤️ sywdebug.

到了这里,关于Arm 架构 Ubuntu 使用 Docker 安装 Gitlab 并使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 银河麒麟 ARM 架构 离线安装Docker

    1. 下载对应的安装包 进入此地址下载对应的docker 离线安装包 下载地址 将文件上传到服务器 解压此文件 将 docker 相关命令拷贝到 /usr/bin,方便直接运行命令 启动Docker守护程序 验证是否安装成功,执行docker info命令,若正常打印版本信息则安装成功。 打印出一下则安装成功,

    2024年02月07日
    浏览(70)
  • ARM架构银河麒麟docker,源码编译安装GDAL

    docker中安装依赖 去官网下载GDAL源码 下载GDAL3.4.3版本 进入到GDAL源码目录并执行 以6个cpu核心编译源码 安装到python

    2024年02月13日
    浏览(46)
  • Linux aarch64架构中使用docker安装mysql8

    1、遇到问题: 官网下载mysql包,安装完成后,启动mysql一直显示-bash: ./mysqld: 无法执行二进制文件。 网上找了各种资料,但是都没有作用,怀疑自己操作姿势不正确,以为是自己包下错了(其实也是包不对),重新下载了不同的各种包,换了各种安装方法,发现仍旧启动不了

    2024年02月14日
    浏览(49)
  • 如何在 Ubuntu Linux 上使用 SNAP 安装 Docker?

    Docker 是一种开源的容器化平台,它允许开发人员将应用程序和其依赖项打包到一个可移植的容器中,以便在不同的环境中运行。在 Ubuntu Linux 上,我们可以使用 SNAP(一种软件包管理系统)来安装和管理 Docker。本文将详细介绍如何在 Ubuntu Linux 上使用 SNAP 安装 Docker,并提供一

    2024年02月16日
    浏览(71)
  • 保姆级 ARM64 CPU架构下安装部署Docker + rancher + K8S 说明文档

    K8S是Kubernetes的简称,是一个开源的容器编排平台,用于自动部署、扩展和管理“容器化(containerized)应用程序”的系统。它可以跨多个主机聚集在一起,控制和自动化应用的部署与更新。 K8S 架构 Kubernetes 主要由以下几个核心组件组成: etcd 保存了整个集群的状态; apiserv

    2024年01月21日
    浏览(64)
  • Docker中gitlab以及gitlab-runner的安装与使用

    1、本文主要讲述如何使用Docker安装gitlab以及gitlab-runner,并且会讲述gitlab-runner如何使用 2、gitlab部分不需要修改过多的配置即可使用,本文未讲述https配置,如有需求,可自行百度 3、 Docker如何安装可以自行百度 1、使用命令直接安装gitlab最新版本(建议安装最新版本,更加安

    2024年02月14日
    浏览(45)
  • Linux离线arm环境安装部署docker详细教程

    1、下载 通过官网下载docker安装包,找arm环境的安装包,如果是x86环境可以下载对应的安装包 Index of linux/static/stable/aarch64/ 2、上传到服务器上,通过rz命令 上传成功后解压 tar -xvf docker-24.0.6.tgz  3. 复制文件到 /usr/bin cp ./docker/* /usr/bin 4. 创建docker.service vim  /etc/systemd/system/doc

    2024年02月03日
    浏览(46)
  • 交叉编译工具链arm-linux-gnueabihf的安装-ubuntu 20.04

    http://t.csdn.cn/ZbjFX 建议直接在.bashrc文件作修改 ,修改方式相同 ( vi :视自己的编辑器而定) 因为我在修改profile文件后,环境变量生效,但是命令行的用户名等颜色高亮显示会消失;并且重启终端后,又需要再source一下profile。 但是将环境变量添加至.bashrc则不会出现这两个问题

    2024年02月11日
    浏览(52)
  • Linux(Kali\Ubuntu\CentOS\arm-Linux)安装Powershell

    下载链接:https://github.com/PowerShell/PowerShell/ 下载链接:https://github.com/PowerShell/PowerShell/releases 在 Ubuntu 上安装 PowerShell - PowerShell | Microsoft Docs PowerShell下载/PowerShell: PowerShell for every system! (github.com)

    2024年02月04日
    浏览(51)
  • Ubuntu20.04安装配置gitlab及使用git管理代码超详细教程

    目录 简介 安装教程 安装gitlab 配置Gitlab  登录gitlab  gitlab内存优化  创建用户  创建群组 添加成员进群组 管理群组成员权限   创建项目 分支管理  使用git bash工具 下载git bash 上传代码 使用sourceTree工具创建分支 提交分支 gitlab服务器邮箱的配置(可选) 今日推荐  GitLab是

    2024年02月21日
    浏览(100)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包