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端口使用 180802.网络使用 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端口
常见问题
- 访问浏览器被拒绝,不要慌 使用
docker logs gitlab
查看日志,看报什么错,进行解决 - 访问返回502,一般情况下是端口冲突
修改gitlab.rb
文件,设置端口,重启容器,稍等一会访问
#编辑文件
vi /root/docker/gitlab/config/gitlab.rb
#找到 unicorn['port'] = 8080 的地方,修改为不会被占用的端口
unicorn['port'] = 8888
#保存
:wq!
#重启容器
docker restart gitlab
-
访问比较缓慢
因为镜像就有一个多G,每次启动容器,重启,需要花一段时间等待。 -
访问还是502
看看CPU占用率,电脑容量,有些情况是因为CPU、内存耗尽导致