话不多,直接开跑。

引入神秘力量。

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitlab/gitlab-ce:19.1.1-ce.0
mkdir /data/gitlab

这里的 ce 是社区版,ee 是企业版。

Docker 安装好像是 all in one 的了,不像在 k8s 里用 Helm 部署出来的分布式架构。

docker run -d \
  --hostname gitlab.example.com \
  --env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.example.com'" \
  --publish 172.26.254.207:443:443 \
  --publish 172.26.254.207:80:80 \
  --publish 172.26.254.207:222:22 \
  --name gitlab \
  --restart always \
  --volume /data/gitlab/config:/etc/gitlab \
  --volume /data/gitlab/logs:/var/log/gitlab \
  --volume /data/gitlab/data:/var/opt/gitlab \
  --shm-size 256m \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitlab/gitlab-ce:19.1.1-ce.0

其中 172.26.254.207:222:22 的意思是:把容器里的 22 端口映射到宿主机的 222 端口,否则会和宿主机自己的 22 端口冲突。

执行后就等待初始化。

查看初始密码:

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

默认用户是 root

关于汉化,最新版的界面好像没有汉化。如果需要汉化,请使用 GitLab 极狐版本。

如果实在逼犟,就执行:

docker exec -it gitlab gitlab-rails console

依次输入:

user = User.find_by_username('root')
user.preferred_language = 'zh_CN'
user.save!
exit

之后再清空缓存并重启:

docker exec -it gitlab gitlab-rake cache:clear
docker restart gitlab

如果想要在 k8s 使用 Helm 部署,请看我的古早文章:

https://segmentfault.com/a/1190000023455963

更多推荐