Docker环境下部署Gitlab

由 admin 发布

Gitlab功能有点过于复杂,只想跑git的话另外推荐gitea

Docker环境部署

Oracle Linux就别来凑热闹了 cp /bin/podman /bin/docker 得了 差不多一个东西

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine  #卸载之前的Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io -y

GitLab容器部署

export GITLAB_HOME=/srv/gitlab
#非SELinux用户
sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22:22 \   #吐槽一下 最后面的22:22没啥作用 还会提示占用冲突建议删除。#内网部署所以用443和80端口
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  --shm-size 256m \
  gitlab/gitlab-ee:latest
#SELinux用户
sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab:Z \
  --volume $GITLAB_HOME/logs:/var/log/gitlab:Z \
  --volume $GITLAB_HOME/data:/var/opt/gitlab:Z \
  --shm-size 256m \
  gitlab/gitlab-ee:latest
echo 'net.ipv4.ip_forward=1 ' >> /etc/sysctl.conf
sysctl -p

执行完最好检查一下 ipv4转发是否生效

[root@dockerserver ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1    #提示=1 为生效

等待几分钟后即可正常访问。

登录

docker logs -f gitlab        #显示docker拉起日志
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password  #获取默认密码

排坑日志

坑1.默认密码无法登录

没错,他给的默认密码会无法登录,只能手动重置。

docker exec -ti gitlab bash
sudo gitlab-rake "gitlab:password:reset[root]"
随后输入两次密码即可完成重置

暂无评论

发表评论