配置加速器
可以参考下面链接去配置一下docker加速器(不过还是推荐用aliyun的)
http://blog.csdn.net/gzhouc/article/details/65934897
拉取镜像
docker pull sameersbn/gitlab:9.1.4docker pull sameersbn/postgresql:9.6-2
docker pull sameersbn/redis:latest
上述的版本大家可以去查找最新的版本。
创建数据文件夹, 位置随意,大家记下即可
mkdir /home/YOUDIR/opt/gitlab/datamkdir /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 gitlabdocker 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/