迁移思路:
1. kvm ==》docker ,需要解决80端口和22端口映射问题。
2. 数据备份迁移,老版本9.4.5,最新版本11.1.4,需要解决跨大版本问题。
遇到的问题和解决方案:
问题:
1. docker启动,不能使用22端口,会和宿主机冲突。
参考下面这个文章,在宿主机创建git用户,在git访问宿主机22的git用户时候,通过伪造的gitlab-shell,跳转到docker中的gitlab-shell
> https://blog.xiaket.org/2017/exposing.ssh.port.in.dockerized.gitlab-ce.html
下面这个解决实际测试,无法跳转ssh协议。无法获取到hostname,也不能根据不同的主机名跳转。
> http://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html
2.gitlab版本9.4如果迁移到11.1,数据无法导入,提示版本不一致。
通过docker下载9.4.5的环境,导入旧版本数据,下载10.1版本docker,更新数据,最后下载11.1版本,更新数据。完成升级。