本文阐述如何使用docker安装gitlab官方镜像,并且实现数据卷挂载宿主机,即使容器删除也不会导致数据丢失。
环境描述
环境 | 版本 |
---|---|
centos | 7 |
docker | 1.13.1 |
gitlab/gitlab-ce | latest |
① 确保安装顺利,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没有的话,创建容器会一并创建
⑤打开浏览器看成效
浏览器输入 http://xxx.xxx.xxx.xxx:18080 进行访问
这样子就安装OK了,输入账号密码进行注册
常见问题
- 访问浏览器被拒绝,不要慌 使用 docker logs gitlab 查看日志,看报什么错,进行解决
- 访问返回502,一般情况下是端口冲突
修改gitlab.rb文件,设置端口,重启容器,稍等一会访问
#编辑文件
vi /root/docker/gitlab/config/gitlab.rb
#找到 unicorn['port'] = 8080 的地方,修改为不会被占用的端口
unicorn['port'] = 8888
#保存
:wq!
#重启容器
docker restart gitlab
3.访问比较缓慢
因为镜像就有一个多G,每次启动容器,重启,需要花一段时间等待。
4.访问还是502
看看CPU占用率,电脑容量,有些情况是因为CPU、内存耗尽导致
使用docker安装gitlab就到这里,下篇会写gitlab简单使用,以及git的上传下载。