当前位置: 首页 > Linux

运维记录:Gitlab迁移(Docker版)

时间:2023-04-06 21:11:05 Linux

Gitlab迁移(Docker版)原因公司的gitlab之前已经安装在阿里云上。考虑到隐私和安全,准备迁移到本地内网服务器。而且,随着容器化的普及和一些不错的特性,我这次打算使用docker来部署gitlab。分析之前gitlab使用的一键安装包。数据库是postgresql。计划启动三个docker容器,一个容器跑gitlab,一个容器跑postgresql,然后链接gitlab。一个容器运行Redis,然后链接到gitlab。docker的安装这里就不说了,各系统安装方法自行搜索。安装方法我们先拉取镜像然后创建持久化目录,sudodockerpullsameersbn/postgresql:9.4sudomkdir-p/opt/postgresql/data启动postgresql容器。dockerrun--namepostgresql-d\-e'DB_NAME=gitlabhq_production'\-e'DB_USER=gitlab'\-e'DB_PASS=password'\-e'DB_EXTENSION=pg_trgm'\-v/opt/postgresql/data:/var/lib/postgresql\sameersbn/postgresql:9.4首先拉取redis镜像sudodockerpullsameersbn/redis:latest启动redis容器sudodockerrun--name=redis-dsameersbn/redis:latest首先拉回旧版本的Gitlabimagesudodockerpullsameersbn/gitlab:8.16.6创建数据目录sudomkdir-p/opt/gitlab/data该目录会映射到window的/home/git/data目录,所以所有的数据都保存在这里,请不要删除这里的内容。初始化然后配置容器dockerrun--namegitlab-i-t--rm--linkpostgresql:postgresql--linkredis:redisio\-e"DB_USER=gitlab"-e"DB_PASS=password"\-e"DB_NAME=gitlabhq_production"\-e'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string'\-e'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string'\-e'GITLAB_SECRETS_OTP_KEY-and-BASE=lalpha-numeric-string'\-v/opt/gitlab/data:/home/git/data\sameersbn/gitlab:8.16.6app:rakegitlab:setup这里要恢复,必须先把之前的备份放在/opt/gitlab/data/backup下的BACKUP参数是备份名称的前缀dockerrun--namegitlab-it--rm\-p10022:22-p10080:80\--linkpostgresql:postgresql--linkredis:redisio\-e"DB_USER=gitlab"-e"DB_PASS=密码"\-e"DB_NAME=gitlabhq_production"\-e"GITLAB_HOST=10.21.12.14"\-e"GITLAB_TIMEZONE=北京"\-e'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string'\-e'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string'\-e'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string'\-v/opt/gitlab/data:/home/git/data\sameersbn/gitlab:8.16.6app:rakegitlab:backup:restoreBACKUP=1504835793_2017_09_08这个所有的样本数据都会放在新的gitlab上,你会发现和原来的一样。启动容器(注意:GITLAB_HOST=192.168.1.100:10080这个参数需要配置自己服务器的地址,并带上绑定的端口,否则在网页上操作会有问题)dockerrun--namegitlab-d\-p10022:22-p10080:80\--linkpostgresql:postgresql--linkredis:redisio\-e"DB_USER=gitlab"-e"DB_PASS=password"\-e"DB_NAME=gitlabhq_production"\-e"GITLAB_HOST=192.168.1.100:10080"\-e"GITLAB_TIMEZONE=北京"\-e'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string'\-e'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-环数字\-e'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string'\-v/opt/gitlab/data:/home/git/data\sameersbn/gitlab:8.16.6