docker安装gitlab,redis,postgresql搭建代码托管环境

来源:互联网 发布:大象公会 知乎 编辑:程序博客网 时间:2024/05/22 09:01

配置加速器

可以参考下面链接去配置一下docker加速器(不过还是推荐用aliyun的)

http://blog.csdn.net/gzhouc/article/details/65934897


拉取镜像

docker pull sameersbn/gitlab:9.1.4
docker pull sameersbn/postgresql:9.6-2
docker pull sameersbn/redis:latest

上述的版本大家可以去查找最新的版本。


创建数据文件夹, 位置随意,大家记下即可

mkdir /home/YOUDIR/opt/gitlab/data

mkdir /home/YOUDIR/opt/postgresql/data


启动postgresql

docker run --name=postgresql -d \
-e 'DB_NAME=gitlabhq_production' -e 'DB_USER=gitlab' -e 'DB_PASS=password' \
-v /home/YOUDIR/opt/postgresql/data:/var/lib/postgresql \
sameersbn/postgresql:9.6-2

上述的位置与数据文件夹保持一致。


启动redis

docker run --name=redis -d sameersbn/redis:latest


启动gitlab

docker run --name='gitlab' -d \
--link redis:redisio \
-v /home/username/opt/gitlab/data:/home/git/data \
-p 10022:22 -p 10080:80 \
-e 'GITLAB_PORT=10080' \
-e 'GITLAB_SSH_PORT=10022' \
--link postgresql:postgresql \
-e 'GITLAB_EMAIL=guanzh1@lenovo.com' \
-e 'GITLAB_BACKUPS=daily' \
-e 'GITLAB_HOST=10.100.208.12' \
-e 'GITLAB_SIGNUP=true' \
-e 'GITLAB_GRAVATAR_ENABLED=false' \
sameersbn/gitlab:9.1.4

上述的位置与数据文件夹保持一致,更多参数请见这里https://github.com/sameersbn/docker-gitlab#postgresql 。

上述设置会每天自动进行备份,建议开启。

注:gitlab安装完成后默认用户名为root, 默认的密码如下:


手动备份

docker stop gitlab
docker rm gitlab

docker run --name='gitlab' -it --rm \
你的设置
sameersbn/gitlab:9.1.4 app:rake gitlab:backup:create

这样就会在/home/YOUDIR/opt/gitlab/data/backups下面创建备份,备份的所属者请看下ls -la /home/YOUDIR/opt/gitlab/data/backups下面的文件,迁移的时候有用,另外迁移的话,也只需要保留这个备份出来的文件即可。


恢复备份

确保你的gitlab的版本跟备份的版本一致。

docker run --name='gitlab' -it --rm \
你的设置
sameersbn/gitlab:9.1.4 app:rake gitlab:backup:restore

这样就能确保迁移之后的版本跟迁移之前的版本一样了。


迁移

这个时候你只要在目标机器上做完准备工作之后,启动一次gitlab,然后把之前备份的文件放到/home/YOUDIR/opt/gitlab/data/backups下面,确保备份文件的权限问题之后恢复备份即可


升级

先备份,防止升级后出现问题,然后docker pull新的版本之后,直接run就可以了。


如何从你的库来源完全镜像到gitlab


git clone --mirror https://github.com/exampleuser/repository-to-mirror.git


git remote set-url --push origin https://github.com/exampleuser/mirrored


git fetch -p origin
git push --mirror

这个能保证你的来源在被提交的时候,gitlab能保持完全一致。

最后只要指定时间关闭来源的提交之后久就可以无缝切换到gitlab了。


REF

https://github.com/sameersbn/docker-gitlab#available-configuration-parameters

https://www.aswifter.com/2015/06/14/gitlab-with-docker/

原创粉丝点击