黑猴子的家:Docker 安装 gitlab

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好。

你可能感兴趣的:(黑猴子的家:Docker 安装 gitlab)