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
相关推荐
70后写java的老码农3 小时前
docker-compose 部署 Redis Stack Server 6.2.6-v19
redis·docker
.冰块.4 小时前
流量大了自动加 Pod!K8s HPA 扩缩容与 ResourceQuota/LimitRange 资源管控实战
linux·云原生·容器·kubernetes·hpa·quota·limitrange
方便面不加香菜4 小时前
Docker Container -- 容器命令详解
运维·docker·容器
工业一体机老司机18 小时前
Docker部署工控机采集服务 Compose编排与开机自启
运维·docker·容器
miaobinfei1 天前
docker拉取dify镜像,执行docker compose up -d 报错
运维·docker·容器
kobe_OKOK_1 天前
docker compose命名卷 映射到宿主机的路径
运维·docker·容器
colinu1 天前
Create gitlab-runner
gitlab
晨陌y1 天前
Flare自托管导航页教程:Docker部署、多用户、API与公网访问
运维·docker·容器
梅孔立1 天前
Docker 容器网络不通:Tomcat 无法解析 MySQL、Nginx 无法反代 Tomcat 的生产级排查与治理
网络·docker·tomcat
螺蛳粉 螺蛳粉2 天前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver