1、根据官网的docker安装方式我们找到docker获取giblab-ce镜像的命令
$ docker pull gitlab/gitlab-ce
$ docker images
2、直接docker run创建和启动容器,然后直接访问ip:端口号就可以打开了gitlab页面了
$ docker run -d -p 8078:80 --name mygitlab gitlab/gitlab-ce
$ docker ps
容器80端口映射到宿主机8078端口,dockerfile上也可以看到容器是80端口EXPOSE 443 80 22
3、可以加-v指定数据卷,宿主机上可以方便修改配置文件
cd ~
#可以考虑把配置文件放到一个文件夹里边统一管理
mkdir gitlab
cd ~/gitlab
#启动gitlab容器后,拷贝容器中的默认配置文件到当前文件夹
docker container cp mygitlab:/etc/gitlab . && mv gitlab config
docker container cp mygitlab:/var/opt/gitlab . && mv gitlab data
docker container cp mygitlab:/var/log/gitlab . && mv gitlab logs
#先删除旧的容器
docker rm mygitlab
#创建新的容器,指定使用当前目录下的配置目录作为数据卷
docker run -d -p 8078:80 --name mygitlab \
-v $PWD/config:/etc/gitlab \
-v $PWD/data:/var/opt/gitlab \
-v $PWD/logs:/var/log/gitlab \
gitlab/gitlab-ce
启动后报错
并且在下方发现,可能由于权限问题导致容器启动失败时需要去执行的命令
在Stack Overflow上也搜索到相关报错问题:
https://stackoverflow.com/questions/39480989/moving-location-of-dockerized-gitlab-data-volumes
需要修改权限:根据Stack Overflow上的提示我们需要添加--restart always
让容器报错也不会自动关闭,并修改文件权限后重启即可
#添加--restart always,容器报错后不自动关闭
docker run -d -p 8078:80 --name mygitlab --restart always \
-v $PWD/config:/etc/gitlab \
-v $PWD/data:/var/opt/gitlab \
-v $PWD/logs:/var/log/gitlab \
gitlab/gitlab-ce
#修改文件权限
docker exec -it mygitlab /bin/bash -c "chown -R git /var/opt/gitlab/gitlab-rails/uploads && find /var/opt/gitlab/gitlab-rails/uploads -type f -exec chmod 0644 {} \; && find /var/opt/gitlab/gitlab-rails/uploads -type d -not -path /var/opt/gitlab/gitlab-rails/uploads -exec chmod 0700 {} \;"
docker exec -it mygitlab /bin/bash -c 'update-permissions'
#重启容器
docker restart mygitlab
gitlab 官方推荐是4g内存,2g内存也可以跑,内存占用比较高。个人使用的话可以用,但没必要。感觉还是github好。