docker安装gitlab

参考docker安装gitlab

环境

环境 版本
centos 7
docker 19.03.5
gitlab/gitlab-ce latest
虚拟机配置 2c4g

关闭selinux服务

确保安装顺利,linux先关闭selinux服务,否则容器内部可能权限不足

vi /etc/selinux/config
-------------------------------
SELINUX=enforcing  #注释掉
SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
-------------------------------
setenforce 0 #使配置立即生效

搜索和下载gitlab镜像

#搜索镜像
docker search gitlab
#下载镜像
sudo docker pull gitlab/gitlab-ce:latest

创建docker中的网络

docker network create gitlab_net

使用镜像创建容器,并且使重要数据外部挂载到宿主机

 docker run --name='gitlab' -d 
--net=gitlab_net 
--publish 1443:443 --publish 18080:80 
--restart always 
--volume /root/docker/gitlab/config:/etc/gitlab 
--volume /root/docker/gitlab/logs:/var/log/gitlab 
--volume /root/docker/gitlab/data:/var/opt/gitlab 
--privileged=true 
gitlab/gitlab-ce:latest

查看容器是否运行起来

docker ps | grep gitlab

参数解析
1.http端口使用 18080

2.网络使用 gitlab_net网络

3.将容器内部 /etc/gitlab,/var/log/gitlab,/var/opt/gitlab - 挂载到宿主机的 /root/docker/gitlab/config,logs,data 下,防止容器被删除数据丢失

4.privileged=true 使用特权,怕什么地方权限不足,安装不顺

5./root/docker/gitlab下的config,logs,data没有的话,创建容器会一并创建

访问

我这里做了虚拟机端口映射将18080映射到主机的28080端口

常见问题

  1. 访问浏览器被拒绝,不要慌 使用 docker logs gitlab 查看日志,看报什么错,进行解决
  2. 访问返回502,一般情况下是端口冲突
    修改gitlab.rb文件,设置端口,重启容器,稍等一会访问
#编辑文件
vi /root/docker/gitlab/config/gitlab.rb

#找到 unicorn['port'] = 8080 的地方,修改为不会被占用的端口
unicorn['port'] = 8888

#保存
:wq!

#重启容器 
docker restart gitlab
  1. 访问比较缓慢
    因为镜像就有一个多G,每次启动容器,重启,需要花一段时间等待。

  2. 访问还是502
    看看CPU占用率,电脑容量,有些情况是因为CPU、内存耗尽导致

原文地址:https://www.cnblogs.com/ifme/p/12697044.html