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
相关推荐
南猿北者3 小时前
docker容器
docker·容器
二十雨辰4 小时前
[linux]docker基础
linux·运维·docker
time never ceases4 小时前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle
YCyjs5 小时前
K8S群集调度二
云原生·容器·kubernetes
Hoxy.R5 小时前
K8s小白入门
云原生·容器·kubernetes
MonkeyKing_sunyuhua6 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
追风林7 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
€☞扫地僧☜€8 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
茶馆大橘8 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
全能全知者9 小时前
docker快速安装与配置mongoDB
mongodb·docker·容器