05-Gitlab容器环境搭建

简介: 本文介绍如何通过Docker搭建Gitlab CE(社区版)环境。包含拉取镜像、创建持久化目录、运行容器并映射配置、数据和日志卷,以及访问Gitlab并初始化项目的方法。详细说明了SSH与HTTP访问配置、初始密码获取,并提供本地代码上传的两种方式,帮助快速部署并使用私有代码仓库。

Gitlab环境搭建

Docker镜像

使用Gitlab的cc社区版镜像:

docker pull gitlab/gitlab-ce:17.1.1-ce.0


准备映射的容器卷

Gitlab需要映射出来的容器卷有:

  • /var/log/gitlab:存储日志信息
  • /var/opt/gitlab:存储数据库数据
  • /etc/gitlab:存储配置信息


准备对应文件夹:

mkdir -p /root/gitlab_workspace/logs
mkdir -p /root/gitlab_workspace/data
mkdir -p /root/gitlab_workspace/config


启动容器

启动容器gitlab

docker run -d \
  -h gitlab.example.com \
  -e GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.xxx.xxx:8090';gitlab_rails['gitlab_shell_ssh_port'] = 8022" \
  -p 8090:8090 \
  -p 8022:22 \
  --name gitlab \
  --restart always \
  -v /root/gitlab_workspace/config:/etc/gitlab \
  -v /root/gitlab_workspace/logs:/var/log/gitlab \
  -v /root/gitlab_workspace/data:/var/opt/gitlab \
  --shm-size 1g \
  gitlab/gitlab-ce:17.1.1-ce.0

其中,gitlab容器内的http端口由映射的端口决定,例如 -p 8090:8090 ,那么容器内的http端口会自动开放为8090。配置external_url。

22端口如果映射到宿主机其他端口,需要配置gitlab_rails['gitlab_shell_ssh_port']

浏览器访问

访问地址:http://192.168.xxx.xxx:8090/

初始用户:root

执行命令查看初始密码:

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

初始化项目

gitlab上创建项目

在gitlab上创建一个群组(groups)(例如我的测试项目myproject),在群组中新建一个项目(例如myproject-vue)。(新建项目时不要勾选自动创建README)


本地代码上传

需要先在本地安装好git,配置好user.nameuser.email

方式1

直接从gitlab上拉取新创建的项目:

git clone http://192.168.xxx.xxx:8090/myproject/myproject-vue.git

拉取后,会自动创建出项目文件夹。将本地代码拷贝到该文件夹中,进行commitpush即可:

git add .
git commit -m "初始化项目"
git push


方式2

进入本地代码目录,初始化为git项目,并设置远程仓库地址,然后进行commitpush操作:

# 进入本地项目目录
cd amamrrwms
git init
git remote add origin http://192.168.xxx.xxx:8090/myproject/myproject-vue.git
git add .
git commit -m "初始化项目"
# 需要注意gitlab上该项目的默认分支名。旧版本的gitlab自动创建的默认分支为master,新版本的gitlab自动创建的分支为main
git push -u origin main
目录
相关文章
|
1月前
|
Java Maven 数据安全/隐私保护
06-nexus私仓环境搭建
本文详细介绍Nexus Repository Manager OSS的安装与配置,涵盖JDK环境准备、服务部署、用户创建及启动操作。指导用户搭建Maven和Docker私有仓库,实现jar包与镜像的上传下载,并配置匿名访问与本地客户端信任。支持多种仓库类型,适用于企业级制品管理。
156 0
|
存储 数据可视化 数据安全/隐私保护
使用 Docker Compose 部署 Docker Registry
【1月更文挑战第2天】 在内网环境中,我们期望能够在本地共享镜像。为了解决这一问题,Docker Registry成为了我们的救星。Docker Registry是一个用于存储和管理Docker镜像的开源工具。通过在本地部署Docker Registry,您可以轻松地构建、存储和分享自己的Docker镜像。
952 3
使用 Docker Compose 部署 Docker Registry
|
1月前
|
网络协议
02 | 协议:怎么设计可扩展且向后兼容的协议?
本文深入讲解RPC协议的设计原理,从“透明化”出发,剖析协议在应用层的作用。通过对比HTTP协议,揭示RPC为何需设计私有、高效、可扩展的协议,并详解消息边界、序列化方式、协议头结构及扩展机制,强调协议设计中兼容性与性能的平衡,助力构建高性能分布式系统。(238字)
64 5
 02 | 协议:怎么设计可扩展且向后兼容的协议?
|
1月前
|
Cloud Native Linux 虚拟化
云原生开发01-Docker概述
Docker是基于Go语言的开源容器化平台,实现“一次镜像,处处运行”。它通过容器技术隔离应用及其环境,相比传统虚拟机更轻量、高效。Docker由镜像、容器、仓库三大核心组成,采用C/S架构,利用宿主机内核,无需加载操作系统,启动快、资源占用少,广泛应用于应用的构建、分发与部署。
46 1
云原生开发01-Docker概述
|
1月前
|
SQL JavaScript 关系型数据库
Node连接MySQL实现CRUD 核心目标
本课程聚焦Node.js后端开发,涵盖核心语法、异步编程、模块化设计及MySQL数据库操作。通过实战项目掌握前后端数据交互,实现增删改查全流程,培养全栈开发能力。
77 1
Node连接MySQL实现CRUD 核心目标
|
1月前
|
运维 Linux Docker
04-Docker常用命令 启动类命令
本文介绍了Docker常用命令,包括启动、停止、重启、状态查看及开机自启等服务管理命令;镜像的查看、搜索、下载、删除与空间分析;虚悬镜像概念及命令自动补全配置方法。同时涵盖帮助文档查询、后台运行容器技巧及yum仅下载依赖的实用场景,适用于Docker初学者和日常运维参考。
110 3
|
1月前
|
存储 NoSQL 算法
10-Docker安装Redis
本文介绍Docker安装Redis单机与集群部署,涵盖配置映射、数据持久化及3主3从集群搭建。深入解析Redis集群存储算法:哈希取余、一致性哈希与哈希槽,重点说明槽位分配机制及16384个槽的设计原理,并演示主从扩缩容操作流程。
184 0
|
1月前
|
存储 关系型数据库 MySQL
07-Mysql容器环境搭建
本文介绍了MySQL的Docker环境搭建全过程,因CPU兼容性问题选用8.4.0-oraclelinux8镜像,详细说明了容器卷映射、配置文件设置、容器启动及数据库导入方法,并涵盖用户权限配置、数据备份与恢复、程序连接配置等关键操作,助力高效部署与管理MySQL数据库。
41 0
|
1月前
|
关系型数据库 MySQL Docker
03-Docker下载加速 docker下载加速
本文介绍了两种Docker镜像下载加速方法:一是使用网易数帆、阿里云等镜像仓库直接拉取镜像,如通过`hub.c.163.com/library/mysql`下载MySQL;二是配置阿里云镜像加速器,修改`/etc/docker/daemon.json`文件添加加速地址,重启Docker服务后即可使用官方镜像命令快速拉取。此外,还介绍了如何为Docker配置HTTP/HTTPS代理,提升网络访问效率。
213 0

热门文章

最新文章