CentOS7 Docker安装Gitlab
官方教程
https://docs.gitlab.com/omnib...
搜索镜像
docker search gitlab
下载镜像文件
docker pull docker.io/gitlab/gitlab-ce
创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。
mkdir -p /data/gitlab/etc
mkdir -p /data/gitlab/log
mkdir -p /data/gitlab/data
运行GitLab容器
注意http端口8090要和宿主机映射一致,否则后面http方式clone端口配不好
--hostname x.x.x.x 改成服务器IP
docker run \
--detach \
--publish 10222:22 \
--publish 8090:8090 \
--publish 10443:443 \
--hostname x.x.x.x \
-v /data/gitlab/etc:/etc/gitlab \
-v /data/gitlab/log:/var/log/gitlab \
-v /data/gitlab/data:/var/opt/gitlab \
-v /etc/localtime:/etc/localtime:ro \
--name gitlab \
--restart always \
--privileged=true gitlab/gitlab-ce:latest
运行成功之后,将挂载文件同步到容器外面
修改/data/gitlab/etc/gitlab.rb
把external_url改成部署机器的域名或者IP地址
vim /data/gitlab/etc/gitlab.rb
# 修改http clone时显示的端口
external_url 'http://x.x.x.x:8090'
...
# 修改ssh clone时显示的端口
gitlab_rails['gitlab_shell_ssh_port'] = 10222
修改/data/gitlab/data/gitlab-rails/etc/gitlab.yml
这个文件改了没什么暖用, 会被gitlab.rb覆盖, (这一步原本不是必须的,因为gitlab.rb内配置会覆盖这个,为了防止没有成功覆盖所以我在这里进行配置,非docker运行gitlab的话你也可以选择不修改gitlab.rb直接修改这里)vim /data/gitlab/data/gitlab-rails/etc/gitlab.yml
找到关键字 ## Web server settings
我们进到目录再看一下挂载文件是否同步到外面来了
[root@VM-0-16-centos gitlab]# ls /data/gitlab/*
/data/gitlab/data:
alertmanager backups bootstrapped gitaly git-data gitlab-ci gitlab-exporter gitlab-rails gitlab-shell gitlab-workhorse grafana logrotate nginx postgres-exporter postgresql prometheus public_attributes.json redis trusted-certs-directory-hash
/data/gitlab/etc:
gitlab.rb gitlab-secrets.json ssh_host_ecdsa_key ssh_host_ecdsa_key.pub ssh_host_ed25519_key ssh_host_ed25519_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub trusted-certs
/data/gitlab/log:
alertmanager gitaly gitlab-exporter gitlab-rails gitlab-shell gitlab-workhorse grafana logrotate nginx postgres-exporter postgresql prometheus puma reconfigure redis redis-exporter sidekiq sshd
[root@VM-0-16-centos gitlab]#
这个时候我们把容器停止再删除,然后重启服务
[root@localhost ~]# docker stop [容器ID]
[root@localhost ~]# docker rm [容器ID]
[root@localhost ~]# systemctl restart docker
再来重新创建容器
--hostname x.x.x.x 改成服务器IP
docker run \
--detach \
--publish 10222:22 \
--publish 8090:8090 \
--publish 10443:443 \
--hostname x.x.x.x \
-v /data/gitlab/etc:/etc/gitlab \
-v /data/gitlab/log:/var/log/gitlab \
-v /data/gitlab/data:/var/opt/gitlab \
-v /etc/localtime:/etc/localtime:ro \
--name gitlab \
--restart always \
--privileged=true gitlab/gitlab-ce:latest
启动可能需要几分钟, 耐心等等, 可以使用如下命令查看启动状态
查看容器状态
docker container list
# 查看容器日志
docker logs --tail=10 -f gitlab
网页访问8090端口, 初始用户为root, root初始密码见vim /data/gitlab/etc/initial_root_password
其他问题
如果initial_root_password密码无法登录,可以重置密码:gitlab-rake "gitlab:password:reset[root]"
执行上面命令后等待一会,进行2次密码确认输入,修改成功就可以新密码登录了。
Java开启JMX远程监控
YYGP阅读 153
花了几个月时间把 MySQL 重新巩固了一遍,梳理了一篇几万字 “超硬核” 的保姆式学习教程!(持续更新中~)
民工哥赞 14阅读 2.1k
硬卷完了!MongoDB 打怪升级进阶成神之路( 2023 最新版 )!
民工哥赞 7阅读 749
又一款内存数据库横空出世,比 Redis 更强,性能直接飙升一倍!杀疯了
民工哥赞 4阅读 1.7k评论 2
突破难关:Docker镜像和容器的区别以及构建的最佳实践
张晋涛赞 4阅读 1.2k
Aliyun-使用Docker方式安装Jenkins
Awbeci赞 2阅读 2.1k
Win10 安装Docker以及Jenkins(超级详细篇)
九旬赞 3阅读 1.1k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。