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

飞腾ft2000-麒麟V10-SP1安装Docker、运行gitlab容器

目录

一、安装及配置docker

1、卸载docker相关包及删除相关配置文件

2、安装二进制docker

1.下载软件包

2.解压

3.修改镜像加速地址

4.修改profile文件

5.启动docker

6.docker常用命令

二、安装并启动gitlab镜像

1.安装gitlab镜像

1.查询满足使用需求的gitlab版本

 2.下载镜像

2.运行gitlab及修改配置

1.运行gitlab

2.配置

3.验证测试

4.浏览器测试

3.修改外部访问端口(docker对gitlab容器的映射)

1.方法1:删除原有容器,重建新容器

2. 方法2 :修改容器配置文件,重启docker服务

3. 方法3: docker commit新构镜像

4.密码

1.默认密码

2.修改root密码


一、安装及配置docker

1、卸载docker相关包及删除相关配置文件

apt-get autoremove docker docker-ce docker-engine  docker.io  containerd runc
apt-get autoremove docker-ce-*
dpkg -l | grep docker
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker/*docker --version #验证是否卸载成功
reboot #重启服务器

2、安装二进制docker

1.下载软件包

wget  -c 0 https://download.docker.com/linux/static/stable/aarch64/docker-19.03.9.tgz

2.解压

tar -zxvf docker-19.03.9.tgz -C /usr/bin

3.修改镜像加速地址

vim /etc/docker/daemon.json{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

4.修改profile文件

# vim /etc/profile    #末尾添加如下代码export PATH=/usr/bin/docker:$PATH# source /etc/profile #刷新profile文件

5.启动docker

dockerd --data-root=/var/lib/docker &    #启动dockerdocker version    #查询版本验证docker是否安装成功

6.docker常用命令

docker常用命令

二、安装并启动gitlab镜像

1.安装gitlab镜像

1.查询满足使用需求的gitlab版本

Docker官方仓库

        在仓库中查询gitlab,因为需要区分构建后的架构,查找自己需要使用的CPU架构版本,飞腾为arm64架构,这里选择的是yrzr/gitlab-ce-arm64v8,这个版本是arm64架构

 2.下载镜像

root@kylin:~# docker pull yrzr/gitlab-ce-arm64v8

2.运行gitlab及修改配置

1.运行gitlab

root@kylin:~# docker run -d \
--restart always \                               #容器停止后的重启策略: 容器退出时总是重启
--name gitlab \
--privileged \
--memory 4096M \
-p 1022:22 -p 1080:1080 -p 443:443 \               #端口,左边为宿主机,右边为容器
--hostname gitlab.example.com \                  #访问域名,可以后续修改
--env GITLAB_OMNIBUS_CONFIG="nginx['redirect_http_to_https'] = true; " \
-v /root/software/gitlab/etc:/etc/gitlab:z \     #数据卷挂载,左边为宿主机,右边为容器
-v /root/software/gitlab/log:/var/log/gitlab:z \
-v /root/software/gitlab/data:/var/opt/gitlab:z \
yrzr/gitlab-ce-arm64v8:latest

2.配置

        gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置/etc/gitlab/gitlab.rb

        下面的配置文件需要在容器内修改,请勿挂载到宿主机的文件上进行修改,否则可能会出现配置更新不到容器内或者延迟更新到容器内,导致启动成功,却无法访问。

root@kylin:~# docker exec -it gitlab /bin/bash           #进容器内部
root@gitlab:/# vi /etc/gitlab/gitlab.rb                  #修改配置文件#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口,这里的端口号要与启动容器时的端口映射相对应
external_url 'http://192.168.5.52:1080'    
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.5.52'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 1022root@gitlab:/# gitlab-ctl reconfigure    # 让配置生效
root@gitlab:/# gitlab-ctl restart        # 重启gitlab

3.验证测试

root@kylin:~# curl http://localhost:1080
<html><body>You are being <a href="http://localhost:1080/users/sign_in">redirected</a>.</body></htm

4.浏览器测试

浏览访问:http://192.168.5.52:1080

3.修改外部访问端口(docker对gitlab容器的映射)

1.方法1:删除原有容器,重建新容器

docker rm gitlab 或 容器id #删除容器
# 构建新的容器,命令参照上面,注意修改相应端口号

        优点:简单快捷,测试环境使用较多

        缺点:若为数据库镜像,重建后再重新配置一次比较麻烦

2. 方法2 :修改容器配置文件,重启docker服务

root@kylin:~# docker stop f9c #停止容器
root@kylin:~# pkill -9 docker #停掉docker
root@kylin:~# ps aux | grep docker #确认docker进程是否被关闭
root@kylin:~# cat /var/lib/docker/containers/容器ID/hostconfig.json #参照下图

 如上图所示,文件中其中一项是PortBindings:

  • 1080/tcp对应的是容器内部的80端口
  • HostPort对应的是映射到宿主机的端口8080
  • 按照需求修改端口,然后启动docker服务,再重启容器即可
root@kylin:~# dockerd --data-root=/var/lib/docker &
root@kylin:~# docker restart gitlab
#重启后需要等待几分钟,和硬件配置有直接关系
  • 优点:这个方法的优点是没有副作用,操作简单
  • 缺点:是需要重启整个docker服务,如果在同一个宿主机上运行着多个容器服务,会影响其他容器服务

注意:一定要先停掉docker修改配置才能成功。

3. 方法3: docker commit新构镜像

        把一个容器的文件改动和配置信息commit到一个新的镜像;把容器所有的文件改动和配置信息导入成一个新的docker镜像,然后用这个新的镜像重起一个容器,这对之前的容器不会有任何影响。

  • 停止docker 容器
docker stop gitlab
  • commit该docker容器
docker commit gitlab new_gitlab:tag
  • 重新启动一个容器
docker run ...

优点:不会影响宿主机上的其他容器

缺点:管理起来显得比较乱,不如方法2直观

4.密码

1.默认密码

root@kylin:~# docker exec -it gitlab bash
root@gitlab:/# cat /etc/gitlab/initial_root_password 
# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.Password: 密码

 

2.修改root密码

root@gitlab:/# gitlab-rails console    #容器内部打开控制台
--------------------------------------------------------------------------------Ruby:         ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [aarch64-linux]GitLab:       15.10.1 (a2b7634113a) FOSSGitLab Shell: 14.18.0PostgreSQL:   13.8
------------------------------------------------------------[ booted in 55.94s ]
Loading production environment (Rails 6.1.7.2)
irb(main):001:0> user = User.find(1) #查看id为1的账号
=> #<User id:1 @root>
irb(main):002:0> user.password = '花非人陌'    #修改密码
=> "Caixm123xuan"
irb(main):003:0> user.password_confirmation = '' #确认密码
=> "Caixm123xuan"
irb(main):004:0> user.save!    #保存配置
=> true
irb(main):005:0> exit          #退出控制台

相关文章:

飞腾ft2000-麒麟V10-SP1安装Docker、运行gitlab容器

目录 一、安装及配置docker 1、卸载docker相关包及删除相关配置文件 2、安装二进制docker 1.下载软件包 2.解压 3.修改镜像加速地址 4.修改profile文件 5.启动docker 6.docker常用命令 二、安装并启动gitlab镜像 1.安装gitlab镜像 1.查询满足使用需求的gitlab版本 2…...

C++ 的类型转换

目录 1. C语言中的类型转换 2. C强制类型转换 2.1static_cast 2.2 reinterpret_cast 2.3 const_cast 2.4 dynamic_cast 3. RTTI&#xff08;了解&#xff09; 1. C语言中的类型转换 在 C 语言中&#xff0c;如果 赋值运算符左右两侧类型不同&#xff0c;或者形参与实参类型不…...

【Windows】普通控制台EXE程序转为windows服务方式运行的详细步骤

背景 NSSM&#xff08;Non-Sucking Service Manager&#xff09;是一个免费的第三方Windows服务管理器&#xff0c;可以将任何可执行文件转换为Windows服务。官网下载地址为&#xff1a;https://nssm.cc/download 以下是NSSM配置Windows服务的详细步骤和注意事项&#xff1a; …...

NSSCTF [suctf 2019]hardcpp WP 控制流混淆

下载文件&#xff0c;64位主函数非常多循环 去控制流混淆&#xff0c;脚本下载deflat 用法 python 脚本名 文件名 起始地址例如主函数地址是0x4007E0 python deflat.py hardCpp 0x4007E0然后就生成了去混淆的文件 主函数非常大&#xff0c;开始分析逻辑 puts("func(?…...

计算机毕业论文内容参考|基于神经网络的网络安全态势感知技术研究

文章目录 导文文章重点摘要前言绪论课题背景国内外现状与趋势课题内容相关技术与方法介绍技术分析技术设计技术实现总结与展望导文 基于神经网络的网络安全态势感知技术研究 文章重点 摘要 随着互联网的快速发展,网络攻击的频率和复杂度也在逐年增加。为了更好地保护信息系统…...

Flask框架之Request、Response、Cookies、Session等对象的使用

Request、Response、Cookies、Session等对象的使用 Request对象基本使用参数的获取转换器内置转换器自定义转换器 Response对象基本使用返回模板重定向返回JSON Cookies对象设置cookie获取cookie删除cookie Session会话对象设置SECRET_KEY设置会话获取会话释放会话 Request对象…...

信号与槽机制一

一、信号与槽 1、什么是信号与槽&#xff1f; 信号和槽是用于对象之间的通信&#xff0c;它是Qt的核心机制&#xff0c;在Qt编程中有着广泛的应用。如果想学好Qt&#xff0c;一定要充分掌握信号的槽的概念与使用。 2、信号和槽的代码实例 在Qt中&#xff0c;发送对象、发送的信…...

nodejs 复制文件到指定目录

var fs require(fs), path require(path), exec require(child_process).exec, sourcePath, targetPath; //获取命令行中的路径 process.argv.forEach(function (val, index, array) { if (index 2) { sourcePath val; } if (index 3) { targetPath val; } }); // 定义…...

第八章 使用Apache服务部署静态网站

文章目录 第八章 使用Apache服务部署静态网站一、网站服务程序1、网站服务介绍2、Apache程序介绍 二、配置服务文件参数1、Linux系统中的配置文件2、配置httpd服务程序时最常用的参数以及用途描述 三、SELinux安全子系统1、SELinux介绍2、SELinux服务配置模式3、Semanage命令4、…...

Three——四、几何体、高光网络材质、锯齿模糊以及GUI库的使用

文章&#xff1a; Three——一、初识Three以及基础的前端场景搭建(结尾含源码)Three——二、加强对三维空间的认识Three——三、动画执行、画布大小、渲染帧率和相机适配体验Three——四、几何体、高光网络材质、锯齿模糊以及GUI库的使用Three——五、点线模型对象、三角形概念…...

盲目自学网络安全只会成为脚本小子?

前言&#xff1a;我们来看看怎么学才不会成为脚本小子 目录&#xff1a; 一&#xff0c;怎么入门&#xff1f; 1、Web 安全相关概念&#xff08;2 周&#xff09;2、熟悉渗透相关工具&#xff08;3 周&#xff09;3、渗透实战操作&#xff08;5 周&#xff09;4、关注安全圈动…...

文从字顺|程序员须知,如何编写高质量代码

高质量代码是软件开发中至关重要的一部分。高质量的代码不仅可以提高软件的可维护性和可复用性&#xff0c;还可以增强软件的安全性和稳定性。同时&#xff0c;可以降低软件维护成本&#xff0c;提升开发效率&#xff0c;为用户提供更好的使用体验。 写出高质量代码是每个程序…...

PCIe物理层弹性缓存机制(详细)解析-PCIe专题知识(四)

目录 前言一、简介二、详细解析2.1 实例解析2.2 具体实现过程 三、总结四、其他相关链接1、PCI总线及发展历程总结2、PCIe物理层总结-PCIE专题知识&#xff08;一&#xff09;3、PCIe数据链路层图文总结-PCIe专题知识&#xff08;二&#xff09;4、PCIe物理层链路训练和初始化总…...

分片上传和断点续传的区别?实现思路是什么?

相同&#xff1a; 分片上传和断点续传都是网络传输中常用的重要技术 不同&#xff1a; 分片上传&#xff1a;将一个大文件切分为多个小文件进行上传。这种方式能够加快上传速度&#xff0c;降低服务器压力&#xff0c;特别适用于大型文件的上传。例如&#xff0c;在云存储系统…...

微前端 qiankun@2.10.5 源码分析(二)

微前端 qiankun2.10.5 源码分析&#xff08;二&#xff09; 我们继续上一节的内容。 loadApp 方法 找到 src/loader.ts 文件的第 244 行&#xff1a; export async function loadApp<T extends ObjectType>(app: LoadableApp<T>,configuration: FrameworkConfi…...

08异步请求:何种场景下应该使用异步请求?

异步在计算机科学中早就是一个比较常用的词汇,从操作系统的特性( 并发、共享、虚拟、异步)开始,异步就在处理并发操作中起到很大的作用,不仅如此,在软件层面,异步同样也是解决并发请求的一个关键过程,它可以将瞬时激增的请求进行更加灵活的处理,通过异步请求,客户端可…...

【深度学习 | Transformer】Transformers 教程:pipeline一键预测

文章目录 一、前言二、Computer vision2.1 Image classification2.2 Object detection2.3 Image segmentation2.4 Depth estimation 三、NLP3.1 Text classification3.2 Token classification3.3 Question answering3.4 Summarization3.5 Translation3.6 Language modeling3.6.…...

HTMLCSS

1、HTML 1.1 介绍 HTML 是一门语言&#xff0c;所有的网页都是用HTML 这门语言编写出来的&#xff0c;也就是HTML是用来写网页的&#xff0c;像京东&#xff0c;12306等网站有很多网页。 这些都是网页展示出来的效果。而HTML也有专业的解释 HTML(HyperText Markup Language)…...

【安装Nginx】

Linux上安装Nginx 文章目录 Linux上安装NginxUbuntuCentOS查看已安装的软件 Ubuntu 在 Ubuntu 上安装 Nginx 非常简单。只需按照以下步骤操作&#xff1a; 打开终端&#xff0c;更新软件包索引&#xff1a; sudo apt update安装 Nginx&#xff1a; sudo apt install nginx安…...

VSCode作业1:猜数字游戏和简单计数器(包含完整代码)

目录 猜数字游戏 一、使用‘random’函数获取随机数 二、 分情况讨论输入值大小情况 三、HTML代码 四、CSS样式及运行效果 简单计数器&#xff08;计时器&#xff09; 一、使用‘setInterval’函数实现计数效果 二、使用’clearInterval‘函数实现暂停计数和重新计数效果 …...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...