Docker 搭建GitLab

拉取镜像

cpp 复制代码
docker pull gitlab/gitlab-ce

GitLab 需要持久存储来保存数据,如仓库数据、配置

cpp 复制代码
mkdir -p /opt/gitlab/config /opt/gitlab/logs /opt/gitlab/data

使用 docker run 命令来启动 GitLab 容器

cpp 复制代码
docker run -itd \
  --hostname 192.168.111.128 \
  --publish 443:443 \
  --publish 80:80 \
  --publish 2222:22 \
  --name gitlab \
  --restart always \
  --volume /opt/gitlab/config:/etc/gitlab \
  --volume /opt/gitlab/logs:/var/log/gitlab \
  --volume /opt/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

解释命令参数说明:

--detach: 让容器在后台运行(-itd 是 -it -d 的结合,--detach = -d)。

--hostname your-gitlab-hostname: 替换为你的 GitLab 主机名或域名。

--publish 443:443 --publish 80:80 --publish 22:22: 将容器内部的 443(HTTPS)、80(HTTP)和 22(SSH)端口映射到主机的对应端口,允许外部访问 GitLab。

--name gitlab: 指定容器的名称为 gitlab。

--restart always: 容器在退出后始终自动重启。

--volume /opt/gitlab/config:/etc/gitlab: 将主机上的 /opt/gitlab/config 目录挂载到容器内的 /etc/gitlab,用于存储 GitLab 的配置文件。

--volume /opt/gitlab/logs:/var/log/gitlab: 将主机上的 /opt/gitlab/logs 目录挂载到容器内的 /var/log/gitlab,用于存储 GitLab 的日志文件。

--volume /opt/gitlab/data:/var/opt/gitlab: 将主机上的 /opt/gitlab/data 目录挂载到容器内的 /var/opt/gitlab,用于存储 GitLab 的数据(如仓库数据、上传文件等)。

启动时间比较久,耐心等3-5分钟,此时可以查看启动日志

Docker 容器日志查看

cpp 复制代码
docker logs gitlab

如果你访问的页面没提示设置root管理员的密码,需要自己修改

修改密码步骤:

cpp 复制代码
# 进入 GitLab 容器或服务器(gitlab_container_name 容器ID)
	docker exec -it <gitlab_container_name> /bin/bash
	
	# 重置管理员密码
	gitlab-rails console -e production
	
	# 在控制台中重置密码
	user = User.where(id: 1).first
	user.password = 'chengdong'
	user.password_confirmation = 'chengdong'
	user.save!
	
	# exit 退出控制台并重启 GitLab
	gitlab-ctl restart

登录成功之后设置 中文

中间显示 Configure GitLab ==> Settings ==> Preferences ==> Localization 或者上面直接搜索:Default language root账户只能英文,创建新的账户登录就是中文了

cpp 复制代码
# 修改gitlab的下载代码的路径地址,修改gitlab主配置文件
#/opt/gitlab/config/gitlab.rb
修改:
external_url 'http://192.168.111.128'

重启容器

cpp 复制代码
docker restart gitlab
相关推荐
小白的码BUG之路4 小时前
Docker -- 构建nacos镜像
运维·docker·容器
天衍四九-7 小时前
【无标题】
前端·spring boot·mysql·nginx·docker
赵谨言8 小时前
红蓝对抗Docker渗透复盘-技能与产出汇总
docker·容器·eureka
I'mChloe11 小时前
Windows部署BiliNote:Docker安装、AI视频转写、Markdown笔记与cpolar远程访问
人工智能·windows·docker
打工仔折腾 AI12 小时前
飞牛OS上用Docker Compose部署ExerciseDiary运动记录并配置远程访问
运维·人工智能·后端·python·docker·容器·ai agent 实战
天衍四九-13 小时前
Docker Compose企业实战系列(八·终章):多环境隔离实战,开发/测试/生产一键切换
运维·docker·容器
shjita14 小时前
centos中安装docker
linux·docker·centos
ysu_031414 小时前
Docker-Desktop-WSL2实战指南-Windows从安装配置到项目容器化
windows·python·docker·容器·composer·dockerfile·wsl2
天衍四九-15 小时前
Docker Compose企业实战系列(三):Vue/React前端项目容器化完整部署
前端·vue.js·docker
陈陈CHENCHEN15 小时前
【Kubernetes】纯 IPv6 K8s 集群访问外部 IPv4 服务
云原生·容器·kubernetes