2.利用docker进行gitlab服务器迁移

一、Docker安装

安装Ubuntu 22.04.3 LTS \n \l

1、旧版本安装包清理

sudo apt-get remove docker docker-engine docker.io containerd runc

在这里插入图片描述
当你卸载Docker时,存储在/var/lib/docker/中的图像、容器、卷和网络不会自动删除。如果你想从一个干净的安装开始,并且喜欢清理任何现有的数据,请参考卸载Docker引擎部分。

2、资源库安装

在新主机上首次安装Docker引擎之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。
1)更新apt软件包索引和安装包,以允许apt使用HTTPS上的存储库:

sudo apt-get update

在这里插入图片描述

sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release

在这里插入图片描述
2)添加Docker的官方GPG密钥:

sudo mkdir -p /etc/apt/keyrings

在这里插入图片描述

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

在这里插入图片描述
3)使用以下命令设置存储库:

echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

在这里插入图片描述

3.安装Docker引擎

1)更新apt软件包索引:

sudo apt-get update

2)安装Docker Engine、containerd和Docker Compose。
※最新版安装
要安装最新版本,请运行:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

在这里插入图片描述
选择Y
在这里插入图片描述
※特定版本安装
要安装特定版本的Docker 引擎,请首先列出存储库中的可用版本:

apt-cache madison docker-ce | awk '{ print $3 }'

选择所需版本并安装:

VERSION_STRING=5:20.10.13~3-0~ubuntu-jammy
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.

通过运行hello-world镜像,验证Docker引擎的安装是否成功:

sudo docker run hello-world

在这里插入图片描述
查看Docker版本

docker --version

在这里插入图片描述

二、Docker部署gitlab

1.解决非root用户没有权限运行docker命令的问题

sudo groupadd docker     #添加docker用户组
sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中
newgrp docker     #更新用户组

在这里插入图片描述

2.建立环境变量

为了使镜像与配置分离,首先建立如下的环境变量

echo 'export GITLAB_HOME=/home/wqp/share/gitlab_server/gitlab' >> ~/.bash_profile

然后输入

source ~/.bash_profile

下载gitlab镜像

docker pull gitlab/gitlab-ce:latest

此处是ce稳定版
在这里插入图片描述
查看Docker存储路径以及磁盘大小,以此来判断docker是否能创建容器镜像
在这里插入图片描述
在这里插入图片描述

3.下载gitlab镜像

docker pull gitlab/gitlab-ce:latest

在这里插入图片描述

4.解压

在这里插入图片描述
在这里插入图片描述

5.安装gitlab

1).创建gitlab容器

sudo docker run --detach \--hostname gitlab.example.com \--publish 443:443 --publish 80:80 --publish 22:22 \--name gitlab \--restart always \--volume $GITLAB_HOME/config:/etc/gitlab \--volume $GITLAB_HOME/logs:/var/log/gitlab \--volume $GITLAB_HOME/data:/var/opt/gitlab \gitlab/gitlab-ce:latest

2)run他

docker run --detach \--publish 443:443 --publish 80:80 --publish 50122:22 \--name gitlab \--restart always \--volume $GITLAB_HOME/config:/etc/gitlab \--volume $GITLAB_HOME/logs:/var/log/gitlab \--volume $GITLAB_HOME/data:/var/opt/gitlab \gitlab/gitlab-ce:latest

由于之前使用22端口进行创建,修改端口之后重新创建gitlab容器,系统提醒冲突,故需要删除之后重新创建
在这里插入图片描述

3)查看当前运行的容器

docker ps -a

在这里插入图片描述
4)删除不需要的容器
先docker stop 容器name,然后再docker rm 容器name

docker run --detach \

在这里插入图片描述
5)列出本机所有镜像

docker images

6)删除镜像

docker rmi hello-world

在这里插入图片描述
7)进入容器,配置Gitlab

docker exec -it gitlab /bin/bash

在这里插入图片描述
进入对应的bash(如果前面自定义了容器名称记得修改gitlab为你自己定义的名字) 然后输入

# 配置http协议所使用的访问地址,不加端口号默认为80,有自己的域名在这里修改# 注意:如果你写了自己的域名,一定要写http://不要写https://或者不写
external_url 'http://127.0.0.1'#配置时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = 'YOUR_SSH_SERVER_ADDRESS'
gitlab_rails['gitlab_shell_ssh_port'] = 22 # 此端口是run时22端口映射的222端口# 配置http协议所使用的访问地址,不加端口号默认为80,有自己的域名在这里修改# 注意:如果你写了自己的域名,一定要写http://不要写https://或者不写
external_url 'http://127.0.0.1'#配置时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = 'http://192.168.188.129'
gitlab_rails['gitlab_shell_ssh_port'] = 50122 # 此端口是run时22端口映射的50122端口
  1. 配置邮箱服务
    这里给出一份QQ邮箱的配置,网上其他教程在这里都有坑,最多的是把 ‘smtp_tls’ 服务和 ‘smtp_auto_starttls’ 服务同时设置为 ‘true’,这样会导致服务启动失败

9)docker 打包与加载到其他主机

① 从容器创建镜像

docker commit gitlab gitlab_jw:V1.0.0

②列出当前主机存在的所有docker镜像

docker images

在这里插入图片描述
③创建保存镜像的文件夹

mkdir gitlab_image_save

④ 将docker容器保存到镜像gitlab_jw:V1.0.0

docker save -o gitlab_jw_V1.0.0.tar gitlab_jw:V1.0.0

⑤load

⑥run+修改密码

三、其他

  • docker 【Ubuntu 20.04 LTS】安装Docker_ubuntu20.04安装docker-CSDN博客
  • 如何使用docker在ubuntu22.04中搭建Gitlab(无坑版) - 知乎 (zhihu.com)
  • 如何使用docker在ubuntu22.04中搭建Gitlab(无坑版) - 知乎 (zhihu.com)
  • Docker 保存与发布(commit, save, load)_docker commit保存为文件-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/495318.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大型语言模型(LLMs)演化树 Large Language Models

大型语言模型(LLMs)演化树 Large Language Models flyfish 下面的图来自论文地址 Transformer 模型(如 BERT 和 GPT-3)已经给自然语言处理(NLP)领域带来了革命性的变化。这得益于它们具备并行化能力&…

springboot477基于vue技术的农业设备租赁系统(论文+源码)_kaic

摘 要 使用旧方法对农业设备租赁系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在农业设备租赁系统的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的农…

如何在 Ubuntu 22.04 上安装和使用 Composer

简介 如果你是一名 PHP 开发者,想要简化你的项目依赖管理,那么 Composer 是一个必不可少的工具。Composer 可以简化包管理,并允许你轻松地将外部库集成到你的项目中。 本教程将向你展示如何在 Ubuntu 22.04 操作系统上安装 Composer&#x…

16_HTML5 语义元素 --[HTML5 API 学习之旅]

HTML5 引入了许多新的语义元素,这些元素有助于创建结构更清晰、更具描述性的网页。语义化 HTML 不仅改善了代码的可读性,还增强了搜索引擎优化(SEO),提高了无障碍访问性,并使得开发者更容易理解和维护代码。…

国标GB28181视频监控平台与Liveweb视频监控汇聚平台对接方案

应急管理部门以“以信息化推动应急管理能力现代化”为总体目标,加快现代信息技术与应急管理业务深度融合,全面支持现代应急管理体系建设,这不仅是国家加强和改进应急管理工作的关键举措,也是应对日益严峻的应急管理形势和满足公众…

内部知识库的未来展望:技术融合与用户体验的双重升级

在当今数字化飞速发展的时代,企业内部知识库作为知识管理的关键载体,正站在变革的十字路口,即将迎来技术融合与用户体验双重升级的崭新时代,这一系列变化将深度重塑企业知识管理的格局。 一、技术融合:开启知识管理新…

EasyGBS国标GB28181公网平台P2P远程访问故障诊断:云端服务端排查指南

随着信息技术的飞速发展,视频监控领域正经历从传统安防向智能化、网络化安防的深刻转变。EasyGBS平台,作为基于国标GB28181协议的视频流媒体平台,为用户提供了强大的视频监控直播功能。然而,在实际应用中,P2P远程访问可…

HW护网分析研判思路,流量告警分析技巧

《网络安全自学教程》 这篇文章,写给每一个「护网黑奴」,为初次护网的小伙伴普及一下护网工作内容,提供一些简单的分析思路。 护网分析研判思路 1、护网组织架构和责任划分1.1、安全监控1.2、分析研判1.3、应急处置 2、分析研判2.1、判断告警…

springBoot发布https服务及调用

一、服务端发布https服务 1、准备SSL证书 (1)自签名证书:如果你只是用于开发或测试环境,可以生成一个自签名证书。 (2)CA 签名证书:对于生产环境,应该使用由受信任的证书颁发机构 …

Web 第一次作业 初探html 使用VSCode工具开发

目录 初探html? 代码展示&#xff1a; 初探html 大多数代码都比较冗长 不是很简洁 还有许多标签功能不会使用 记录一下成长过程 哈哈哈哈哈&#xff01;<–_–> 代码展示&#xff1a; 12.10首次确定书写对象 牢9门 <!DOCTYPE html> <html lang"en&quo…

分别查询 user 表中 avatar 和 nickname 列为空的用户数量

文章目录 1、要查询 user 表中 avatar 列为空的用户数量2、要查询 user 表中 nickname 列为空的用户数量 1、要查询 user 表中 avatar 列为空的用户数量 好的&#xff0c;要查询 user 表中 avatar 列为空的用户数量&#xff0c;你可以使用以下 SQL 查询语句&#xff1a; SELE…

【批量生成WORD和PDF文件】根据表格内容和模板文件批量创建word文件,一次性生成多个word文档和批量创建PDF文件

如何按照Word模板和表格的数据快速制作5000个word文档 &#xff1f; 在与客户的合作的中需要创建大量的合同&#xff0c;这些合同的模板大概都是一致的&#xff0c;是不是每次我们都需要填充不一样的数据来完成&#xff1f; 今天用表格数据完成合同模板的填充&#xff0c;批量…

DX12 快速教程(2) —— 渲染天蓝色窗口

快速导航 新建项目 "002-DrawSkyblueWindow"DirectX 12 入门1. COM 技术&#xff1a;DirectX 的中流砥柱什么是 COM 技术COM 智能指针 2.创建 D3D12 调试层设备&#xff1a;CreateDebugDevice什么是调试层如何创建并使用调试层 3.创建 D3D12 设备&#xff1a;CreateD…

【MySQL】7.0 入门学习(七)——MySQL基本指令:帮助、清除输入、查询等

1.0 help &#xff1f; 帮助指令&#xff0c;查询某个指令的解释、用法、说明等。详情参考博文&#xff1a; 【数据库】6.0 MySQL入门学习&#xff08;六&#xff09;——MySQL启动与停止、官方手册、文档查询 https://www.cnblogs.com/xiaofu007/p/10301005.html 2.0 在cmd命…

鸿蒙开发:了解帧动画

前言 所谓帧动画&#xff0c;就是类似播放电影一样&#xff0c;一帧一帧的进行播放&#xff0c;相对于属性动画&#xff0c;其每一帧&#xff0c;我们都可以进行设置相关的属性值&#xff0c;并且具有暂停播放&#xff0c;继续播放的优点&#xff0c;而且还具备事件的实时响应&…

发际线不断后移,生发液排行榜第一名,让绒毛碎发爆出来

脱发真的很困扰人&#xff0c;不疼不痒&#xff0c;但看着就老了几岁&#xff0c;形象也大打折扣&#xff0c;男性脱发就更直观了&#xff01;同学严重时&#xff0c;后脑勺几块拳头大的脱发区域&#xff0c;还有的呈“m”型脱发&#xff0c;脑门看着都大了。脱发除了遗传因素以…

Y3地图制作1:水果缤纷乐、密室逃脱

文章目录 一、水果缤纷乐1.1 游戏设计1.1.1 项目解析1.1.2 项目优化1.1.3 功能拆分 1.2 场景制作1.2.1 场景需求1.2.2 创建主镜头、绘制草稿&#xff0c;构思文案和情景1.2.3 构建场景地图1.2.4 光源与氛围设置 1.3 游戏初始化1.3.1 物编、UI预设置1.3.2 游戏初始化1.3.2 玩家初…

48页PPT|2024智慧仓储解决方案解读

本文概述了智慧物流仓储建设方案的行业洞察、业务蓝图及建设方案。首先&#xff0c;从政策层面分析了2012年至2020年间国家发布的促进仓储业、物流业转型升级的政策&#xff0c;这些政策强调了自动化、标准化、信息化水平的提升&#xff0c;以及智能化立体仓库的建设&#xff0…

【Linux】ChatGLM-4-9B模型之All Tools

一、摘要 最近在研究GLM4模型&#xff0c;发现自带的All Tools比较感兴趣&#xff0c;它具有完整工具调用能力的对话模式&#xff0c;原生支持网页浏览、代码执行、图表生成、图片生成&#xff0c;并支持自定义工具。它能够满足大模型私有化部署的个性定制&#xff0c;因此记录…

Vue零基础必学教程(16) 计算属性

往期内容&#xff1a; Vue零基础必学教程&#xff08;5&#xff09;挂载 Vue零基础必学教程&#xff08;6&#xff09;基本选项 Vue零基础必学教程&#xff08;7&#xff09;模板 Vue零基础必学教程&#xff08;8&#xff09;模板语法 Vue零基础必学教程&#xff08;9&…