使用docker搭建GitLab个人开发项目私服

embedded/2024/9/23 5:03:46/

docker_0">一、安装docker

1.更新系统

dnf update

# 最后出现这个标识就说明更新系统成功
Complete!

docker_9">2.添加docker

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

# 最后出现这个标识就说明添加成功
Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo

docker_17">3.安装docker,并允许卸载已经安装的软件(建议不加,避免出现卸载其他软件所需的依赖,而导致其他软件使用异常)

yum install -y docker-ce --allowerasing

# 最后出现这个标识就说明安装成功
Complete!

4.启动 Docker

systemctl start docker

5.查看 Docker 启动状态

systemctl status docker
active说明docker已经启动。

docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)Active: active (running) since Sun 2024-04-21 06:37:45 EDT; 51s agoDocs: https://docs.docker.comMain PID: 88635 (dockerd)Tasks: 9Memory: 34.3MCGroup: /system.slice/docker.service└─88635 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sockApr 21 06:37:45 node-05 systemd[1]: Starting Docker Application Container Engine...
Apr 21 06:37:45 node-05 dockerd[88635]: time="2024-04-21T06:37:45.248538814-04:00" level=info msg="Starting up"
Apr 21 06:37:45 node-05 dockerd[88635]: time="2024-04-21T06:37:45.306599084-04:00" level=info msg="Loading containers: start."
Apr 21 06:37:45 node-05 dockerd[88635]: time="2024-04-21T06:37:45.753676236-04:00" level=info msg="Loading containers: done."

6.设置 Docker 开机自启

systemctl enable docker

二、安装GitLab

1.查找GitLab

docker search gitlab

gitlab_57">2.拉取gitlab镜像

docker pull gitlab/gitlab-ce:latest
如果查找的镜像没有自己想要的,直接使用拉取gitlab/gitlab-ce:latest这个官方最新镜像。

# 看到一下信息,说明镜像拉取成功,也可以通过docker images查看拉取的镜像,如果能看到gitlab/gitlab-ce镜像,说明拉取成功
latest: Pulling from gitlab/gitlab-ce
7021d1b70935: Pull complete 
84ce88366b95: Pull complete 
e1c92fb77de1: Pull complete 
719e91a15767: Pull complete 
d680b9b016aa: Pull complete 
f0027cb8bf12: Pull complete 
8090ecb94c61: Pull complete 
2d67bfd969b5: Pull complete 
216d686bfe05: Pull complete 
Digest: sha256:7c1182ba8d3f30fb82a4c1d2fcc4da35e23929775564642a2310941bc92de1a7
Status: Downloaded newer image for gitlab/gitlab-ce:latest
docker.io/gitlab/gitlab-ce:latest

gitlab_78">3.启动gitlab

注意先使用一下命令创建挂载卷目录:mkdir -p ./software/gitlab/{logs,data,config},这样就可以不用进入容易查看gitlab的一些目录。

docker run -d \
--hostname gitlab.orkasgb.com \
-p 8443:443 -p 8090:80 -p 8022:22 \
--restart always --name gitlab \
-v /orkasgb/software/gitlab/config:/etc/gitlab \
-v /orkasgb/software/gitlab/log:/var/log/gitlab \
-v /orkasgb/software/gitlab/data:/var/opt/gitlab \
--privileged=true gitlab/gitlab-ce \
参数解释:
-d #后台运行,全称:detach
-p 8443:443 #将容器内部端口向外映射,全称:publish
-p 8090:80 #将容器内80端口映射至宿主机8090端口,这是访问gitlab的端口,全称:publish
-p 8022:22 #将容器内22端口映射至宿主机8022端口,这是访问ssh的端口,全称:publish
–restart always #容器自启动
–name gitlab #设置容器名称为gitlab
-v /orkasgb/software/gitlab/config:/etc/gitlab #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
-v /orkasgb/software/gitlab/log:/var/log/gitlab #与上面一样
-v /orkasgb/software/gitlab/data:/var/opt/gitlab #与上面一样
–privileged=true #让容器获取宿主机root权限
gitlab/gitlab-ce #镜像的名称,这里也可以写镜像ID

4.查看启动日志

docker logs gitlab

  - acme (4.1.6)
# 如果没有明显错误,说明启动正常
Installing cookbook gem dependencies:
Compiling cookbooks...
/opt/gitlab/embedded/cookbooks/cache/cookbooks/package/libraries/helpers/selinux_distro_helper.rb:2: warning: already initialized constant SELinuxDistroHelper::REDHAT_RELEASE_FILE
/opt/gitlab/embedded/cookbooks/package/libraries/helpers/selinux_distro_helper.rb:2: warning: previous definition of REDHAT_RELEASE_FILE was here
/opt/gitlab/embedded/cookbooks/cache/cookbooks/package/libraries/helpers/selinux_distro_helper.rb:3: warning: already initialized constant SELinuxDistroHelper::OS_RELEASE_FILE
/opt/gitlab/embedded/cookbooks/package/libraries/helpers/selinux_distro_helper.rb:3: warning: previous definition of OS_RELEASE_FILE was here
/opt/gitlab/embedded/cookbooks/cache/cookbooks/package/libraries/helpers/secrets_helper.rb:4: warning: already initialized constant SecretsHelper::SECRETS_FILE
/opt/gitlab/embedded/cookbooks/package/libraries/helpers/secrets_helper.rb:4: warning: previous definition of SECRETS_FILE was here
/opt/gitlab/embedded/cookbooks/cache/cookbooks/package/libraries/helpers/secrets_helper.rb:5: warning: already initialized constant SecretsHelper::SECRETS_FILE_CHEF_ATTR
/opt/gitlab/embedded/cookbooks/package/libraries/helpers/secrets_helper.rb:5: warning: previous definition of SECRETS_FILE_CHEF_ATTR was here
/opt/gitlab/embedded/cookbooks/cache/cookbooks/package/libraries/helpers/secrets_helper.rb:6: warning: already initialized constant SecretsHelper::SKIP_GENERATE_SECRETS_CHEF_ATTR
/opt/gitlab/embedded/cookbooks/package/libraries/helpers/secrets_helper.rb:6: warning: previous definition of SKIP_GENERATE_SECRETS_CHEF_ATTR was here
/opt/gitlab/embedded/cookbooks/cache/cookbooks/package/libraries/gitlab_cluster.rb:16: warning: already initialized constant GitlabCluster::CONFIG_PATH
/opt/gitlab/embedded/cookbooks/package/libraries/gitlab_cluster.rb:16: warning: previous definition of CONFIG_PATH was here
/opt/gitlab/embedded/cookbooks/cache/cookbooks/package/libraries/gitlab_cluster.rb:17: warning: already initialized constant GitlabCluster::JSON_FILE
/opt/gitlab/embedded/cookbooks/package/libraries/gitlab_cluster.rb:17: warning: previous definition of JSON_FILE was here
Loading Cinc Auditor profile files:
Loading Cinc Auditor input files:
Loading Cinc Auditor waiver files:
[2024-04-21T11:29:49+00:00] INFO: Generating default secrets

gitlab_129">10.进入到gitlab容器进行基础信息配置

docker exec -it gitlab bash

gitlabrb_131">10.1 编辑gitlab.rb

cd /etc/gitlab
vi ./gitlab.rb

  • 修改external_url为node-05
  • 修改gitlab_rails['gitlab_ssh_host']为node-05
  • 修改gitlab_rails['gitlab_shell_ssh_port']为8022

gitlabyml_137">10.2 编辑gitlab.yml

cd /opt/gitlab/embedded/service/gitlab-rails/config
vim gitlab.yml

  • 修改port为8022
  • 修改url为node-05

gitlabrails_console_e_production_142">10.3.重置账户密码信息,在容器内部,使用gitlab-rails console -e production重置密码。

  • 链接数据库:gitlab-rails console -e production
  • 获取用户:user = User.where(id:1).first
  • 修改用户账号:user.username = 'gitlab'
  • 修改用户密码:user.password = 'gitlab123'
  • 保存用户:user.save!

11.保存配置后,重启

重启配置:gitlab-ctl reconfigure或者直接重启gitlabgitlab-ctl restart gitlab

gitlabgitlab_150">12.重启后,就可以使用http://ip:8090访问gitlab,账户为gitlab

gitlab_152">13.点击登录用户的头像,设置为中文界面,在配置gitlab界面,启用允许从其他项目导入功能。

在这里插入图片描述


http://www.ppmy.cn/embedded/7911.html

相关文章

常用node.js命令有哪些呢?

前言 Node.js 是一种在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境。 1、查看当前安装的 Node.js 版本。 node -v 或 node --version 2、查看当前安装的 npm 版本。 npm -v 或 npm --version 3、初始化一个新的 Node.js 项目,会生成一个 pac…

web server apache tomcat11-12-SSL/TLS Configuration

前言 整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 开源项目 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 系列文章 web server apache tomcat11-01-官方文档入门介绍 web…

Yonbuilder参考

发布移动插件 https://developer.yonyou.com/cloud/moduleStore/publishPlugin Android自定义插件打包 社区问答 https://community.yonyou.com/forum.php?modviewthread&tid232830&searchLogId605932 MarkDown指令使用 https://blog.csdn.net/qq_25821067/article/de…

高速公路信息化大会 | 云轴科技ZStack分享云原生超融合在高速公路行业的应用

近日,作为第二十六届高速公路信息化大会分论坛之一,由中国公路学会邀请、英特尔支持和协办《第四届英特尔智慧化方案助力高速新基建升级论坛》在合肥顺利召开。来自智慧交通建设领域的创新企业和技术专家共聚一堂,围绕改扩建高速公路提升和数…

Golang那些违背直觉的编程陷阱

目录 知识点1:切片拷贝之后都是同一个元素 知识点2:方法集合决定接口实现,类型方法集合是接口方法集合的超集则认定为实现接口,否则未实现接口 切片拷贝之后都是同一个元素 package mainimport ("encoding/json"&quo…

LangChain之Agent:LangChain框架中与Agent相关的概念简介、Agent分类(五大维度分类/8种代理)、常用函数、案例应用之详细攻略

LangChain之Agent:LangChain框架中与Agent相关的概念简介、Agent分类(五大维度分类/8种代理)、常用函数、案例应用之详细攻略 目录 LangChain框架中与Agent相关的概念简介、Agent分类(五大维度分类/8种代理)、常用函数、案

微软如何打造数字零售力航母系列科普01 --- Azure顾问(AZURE Advisor)简介

Azure顾问(AZURE Advisor)简介 目录 一、什么是AZURE顾问(AZURE Advisor)? 二、常见问题 三、接下来的步骤 一、什么是AZURE顾问? AZURE顾问是一种数字云助手,可帮助您遵循最佳实践来优化Az…

AI大模型日报#0418:Stable Diffusion 3开放API、Meta新研究让AI Agent理解物理世界

导读: 欢迎阅读《AI大模型日报》,内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了每条资讯的摘要。标题: 微软刚发布了VASA-1 这个人工智能可以让单张图像具有生动的说话和歌唱能力 摘要: 微软发布了VASA-1人工智能,它能使单…