安全性如何,在 V2 上看到好几个 gitlab 被攻击的
1
dier 2022-07-18 16:09:25 +08:00
用 docker 跑,如果 gitlab 有漏洞被入侵了,删除当前的容器,更新版本就好了,对宿主机的影响很小
|
2
libook 2022-07-18 16:19:39 +08:00
维护方便,想升级 GitLab 只需要 pull 个新版镜像启动就好了。
安全法方面容器有 Linux 内核支持的资源隔离机制,容器里随便造,重启容器一切恢复如初,你可以类比为虚拟机,只不过比虚拟机更高效。 |
3
brader 2022-07-18 16:23:16 +08:00 8
我用 docker 部署纯粹是因为懒,不想做重复性搭建工作,所以我的软件服务,都 git 版本化了
https://github.com/wenshunbiao/docker |
4
janxin 2022-07-18 16:23:58 +08:00
方便滚动版本...GitLab 经常有漏洞需要修复的
|
5
GoRoad 2022-07-18 16:26:46 +08:00
还有一条 就是节省物理资源 gitlab 是一整套服务,包含 nginx 要占用 80 和 443 22 端口的
|
6
lululau 2022-07-18 16:28:45 +08:00
容器化部署的最主要优势当然是简化部署工作了,像 gitlab 这个类似,你只要做好目录、IP 端口的规划(实际工作就是填写 docker-compose.yaml 里面的各种变量)就可以了,粗略地说用 docker 部署就是不需要部署(就一条 docker compose up 命令,约等于不需要部署没毛病吧)
|
7
serialt 2022-07-18 16:30:31 +08:00
方便升级
|
8
mahone3297 2022-07-18 16:32:17 +08:00
@brader 你这个是开发环境?还是 prod 环境也用?
|
9
clf 2022-07-18 16:40:28 +08:00
核心是避开主机环境的问题。
比如 Centos 的 git 版本是有大坑的,git 依赖无法更新到公网的最新版本,大概差了好多大版本了。上次为了更新这个 git 依赖,得卸载一些东西掉,然后重新装回来,折腾了快一天时间。 |
10
brader 2022-07-18 16:41:54 +08:00
@mahone3297 我在 prod 使用过
|
11
brader 2022-07-18 16:45:36 +08:00
@clf 这时候就该演奏你的编译三步曲了,我是 centos 的重度使用者,我在这上面安装 git 新版的话,都是自行下载编译
|
12
qwerthhusn 2022-07-18 16:46:38 +08:00 1
方便升级,改一下版本号,docker-compose up -d 直接就自动升级并启动
方便备份。将 /etc/gitlab/和 /var/opt/gitlab/这两个做映射或 volume ,后面直接备份这两个文件夹即可 方便迁移,直接将上述两个映射目录和 docker-compose.yaml 拷贝到另外一个服务器,直接启动就行了。 |
13
unt OP 所以说 V 友们现在部署都是大部分 docker 部署的吗,有直接宝塔安装了直接用的吗
|
14
clf 2022-07-18 16:52:33 +08:00
@brader 编辑问题不大,最后安装也是靠自己打包编译的,但整体就比较折腾,最后就用 docker 了;新装的服务器也统一用 ubuntu 了。
|
15
konakona 2022-07-18 16:52:54 +08:00
Gitlab 用 docker 部署好处是易于升级维护,漏洞不管是怎么安装的都会有的,随着版本号的。
推荐 docker 安装。 |
16
clf 2022-07-18 16:55:58 +08:00
@unt 宝塔不如自己手动装……宝塔本质上也是用包管理器安装的各个应用(也有下载二进制文件帮你配环境变量的脚本),特殊适配了一些应用的适配界面。但面板本身会带来额外的漏洞。
|
19
Mithril 2022-07-18 17:06:58 +08:00
主要是不想折腾,Gitlab 的 Docker 是带了全部依赖的,直接跑就行。
docker compose 配好了,每次升级改一下版本,或者你实在懒得改就 latest 。 主机随便打补丁,开个端口就完了,也不容易出问题。 哪怕是我自己的 infra 设施,也是能 docker 就上 docker ,至于 linux 配置啥的随便去吧,早就懒得学了。 |
20
defunct9 2022-07-18 17:09:47 +08:00
onedev
|
22
int80 2022-07-18 17:16:16 +08:00 1
docker compose 一把梭,有什么麻烦的?
|
23
clf 2022-07-18 17:17:49 +08:00
@brader 不是编译的问题,而是如何快速去解决 gitlab 、gitlab-runner 等一大堆依赖 git 的服务去平稳切换依赖。如果只是装个 git 最新版本,轻轻松松。
我对 centos 编译后能不能直接更新替换原来的 git 不是很清楚。总之我能找到的大部分 centos 的教程都是要卸载掉 git 老版本的。然后卸载 git 老版本的前提是你得卸载掉 gitlab 、gitlab-runner 等一堆依赖 git 的东西。如果不是 1.x 版本的 git 会有严重的 bug ,我是一点也不想升级它的。 |
24
gengchun 2022-07-18 18:58:55 +08:00
只考虑不用维护依赖的话,和简化升级。其实官方的 omnibus 包的安装难度并不比官方 omnibus 容器镜像高多少。因为还是要自己搞定 MTA 。比较常见的是独立虚机加上 omnibus 包。
更简单的其实是用虚机镜像。gitlab 有官方的 AMI ,只不过 aws 相对较小的云服务商比较贵。 docker 的部署只是在费用和便捷上面折中了一些。这样可以复用一台虚机。还有一定的隔离。 安全性的话,一般这种内部服务,不建议直接放到公网上,实在要用公网,至少要配置双向认证证书。公网只有双向 https 和 ssh 端口,要攻击还是很折腾人的。 上私有 gitlab 算是比较大的组织和项目才需要的,一般就是降低运维难度和费用之间做选择。 |
25
flexbug 2022-07-18 19:54:41 +08:00 via iPhone 1
这个不都放内网吗,怎么还有外部攻破安全问题
|
26
shanyuhai123 2022-07-18 20:02:00 +08:00
docker compose 一把梭,有什么麻烦的?
|
27
securityCoding 2022-07-18 20:04:35 +08:00
我现在的理念是任何后台服务可以的话肯定首选 docker ,把数据目录挂载出来就好
|
28
zr8657 2022-07-19 10:31:23 +08:00
我连 docker compose 都懒得用,直接拉 latest 镜像 5 分钟就搞定了。反正都是内网,怕啥
|
29
julyclyde 2022-07-19 10:42:41 +08:00
没有什么优势
|