centos7使用docker安装gitlab

原创 2019-11-28 15:13 阅读(321)次
安装前要确认机器配置,需要2核2G内存,如果是VM虚拟机可以调整配置再安装
否则安装会不成功一直报错:GitLab is taking too much time to respond,另外gitlab启动需要一定时,启动期间这个错误也会看到
  • 安装开始
docker search gitlab

docker pull gitlab/gitlab-ce

  • 运行

docker run -d  -p 443:443 -p 8011:8011 -p 2222:22 --name gitlab --restart always -v /home/docker/gitlab/config:/etc/gitlab -v /home/docker/gitlab/logs:/var/log/gitlab -v /home/docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

启动后会生成配置文件、数据文件、日志文件等
  • 配置
需要配置一下gitlab访问地址才能被访问
vi /home/docker/gitlab/config/gitlab.rb

# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.15.128:8011'

#这个端口与上面不能相同,否则会报端口被占用,这个坑坑我很久
unicorn['port'] = 8012
gitlab_workhorse['auth_backend'] = "http://localhost:8012"

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.15.128'
gitlab_rails['gitlab_shell_ssh_port'] = 2222 # 此端口是run时22端口映射的222端口

gitlab_rails['webhook_timeout'] = 90
gitlab_rails['git_timeout']=900

  • 开放端口
设置防火墙暴露端口
firewall-cmd --permanent --zone=public --add-port=8011/tcp
重新加载
firewall-cmd --reload
列出开放的端口
firewall-cmd --list-all
  • 关闭selinux

1.临时关闭:setenforce 0命令 临时开启 setenforce 1

2.永久关闭:打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试

  • 重启docker gitlab
docker stop d64549594572 CONTAINER id
docker rm d64549594572 CONTAINER id
docker run -d  -p 443:443 -p 8011:8011 -p 2222:22 --name gitlab --restart always -v /home/docker/gitlab/config:/etc/gitlab -v /home/docker/gitlab/logs:/var/log/gitlab -v /home/docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

好像使用docker restart gitlab重启会有问题,会一直重启……。
所以最好先手动停止并删除容器,再重新执行上面的docker run脚本

  • 访问gitlab
http://192.168.15.128:8011
注删register一个账号并登录就可以管理用git上传管理项目了