当前位置: 首页 > article >正文

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.kler.cn/a/451415.html

相关文章:

  • Github Copilot:已免费,速回归!!!
  • Cherno C++学习笔记 P46 箭头运算符
  • 109.【C语言】数据结构之求二叉树的高度
  • STM32HAL库中RTC闹钟设置时分秒,年月日
  • MyBatis通过注解配置执行SQL语句原理源码分析
  • esp8266_TFTST7735语音识别UI界面虚拟小助手
  • rust学习: 有用的命令
  • Datawhale-AI活动2024.12.24
  • 【docker】docker desktop 在windows上支持 host模式
  • SQL语法基础知识总结
  • 抢票神器:大麦网抢票实战教程
  • Qt笔记:文件I/O操作
  • Android studio开启虚拟机闪退、闪屏、死机、电脑重启
  • Web Server for Chrome 使用教程
  • 虚幻引擎结构之AActor
  • 电子应用设计方案70:智能挂钟系统设计
  • C语言——数据在内存中的存储
  • Django REST framework (DRF)中的api_view和APIView权限控制
  • 如何设置爬虫的访问频率?
  • 物理层知识要点
  • Oracle 数据库锁与阻塞分析与解决指南
  • 优化程序中的数据:从代数到向量解
  • 2024最新鸿蒙开发面试题合集-HarmonyOS NEXT Release(API 12 Release)
  • 【unity c#】深入理解string,以及不同方式构造类与反射的性能测试(基于BenchmarkDotNet)
  • 一款基于.NET开发的AI无损放大工具
  • vue3 的ref和reactive的区别?