V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
unt
V2EX  ›  git

请问 gitlab 部署在 docker 上的优势是什么,有必要 docker 部署吗

  •  
  •   unt · 2022-07-18 16:05:51 +08:00 · 4091 次点击
    这是一个创建于 860 天前的主题,其中的信息可能已经有所发展或是发生改变。

    安全性如何,在 V2 上看到好几个 gitlab 被攻击的

    29 条回复    2022-07-19 10:42:41 +08:00
    dier
        1
    dier  
       2022-07-18 16:09:25 +08:00
    用 docker 跑,如果 gitlab 有漏洞被入侵了,删除当前的容器,更新版本就好了,对宿主机的影响很小
    libook
        2
    libook  
       2022-07-18 16:19:39 +08:00
    维护方便,想升级 GitLab 只需要 pull 个新版镜像启动就好了。

    安全法方面容器有 Linux 内核支持的资源隔离机制,容器里随便造,重启容器一切恢复如初,你可以类比为虚拟机,只不过比虚拟机更高效。
    brader
        3
    brader  
       2022-07-18 16:23:16 +08:00   ❤️ 8
    我用 docker 部署纯粹是因为懒,不想做重复性搭建工作,所以我的软件服务,都 git 版本化了
    https://github.com/wenshunbiao/docker
    janxin
        4
    janxin  
       2022-07-18 16:23:58 +08:00
    方便滚动版本...GitLab 经常有漏洞需要修复的
    GoRoad
        5
    GoRoad  
       2022-07-18 16:26:46 +08:00
    还有一条 就是节省物理资源 gitlab 是一整套服务,包含 nginx 要占用 80 和 443 22 端口的
    lululau
        6
    lululau  
       2022-07-18 16:28:45 +08:00
    容器化部署的最主要优势当然是简化部署工作了,像 gitlab 这个类似,你只要做好目录、IP 端口的规划(实际工作就是填写 docker-compose.yaml 里面的各种变量)就可以了,粗略地说用 docker 部署就是不需要部署(就一条 docker compose up 命令,约等于不需要部署没毛病吧)
    serialt
        7
    serialt  
       2022-07-18 16:30:31 +08:00
    方便升级
    mahone3297
        8
    mahone3297  
       2022-07-18 16:32:17 +08:00
    @brader 你这个是开发环境?还是 prod 环境也用?
    clf
        9
    clf  
       2022-07-18 16:40:28 +08:00
    核心是避开主机环境的问题。

    比如 Centos 的 git 版本是有大坑的,git 依赖无法更新到公网的最新版本,大概差了好多大版本了。上次为了更新这个 git 依赖,得卸载一些东西掉,然后重新装回来,折腾了快一天时间。
    brader
        10
    brader  
       2022-07-18 16:41:54 +08:00
    @mahone3297 我在 prod 使用过
    brader
        11
    brader  
       2022-07-18 16:45:36 +08:00
    @clf 这时候就该演奏你的编译三步曲了,我是 centos 的重度使用者,我在这上面安装 git 新版的话,都是自行下载编译
    qwerthhusn
        12
    qwerthhusn  
       2022-07-18 16:46:38 +08:00   ❤️ 1
    方便升级,改一下版本号,docker-compose up -d 直接就自动升级并启动
    方便备份。将 /etc/gitlab/和 /var/opt/gitlab/这两个做映射或 volume ,后面直接备份这两个文件夹即可
    方便迁移,直接将上述两个映射目录和 docker-compose.yaml 拷贝到另外一个服务器,直接启动就行了。
    unt
        13
    unt  
    OP
       2022-07-18 16:48:51 +08:00
    所以说 V 友们现在部署都是大部分 docker 部署的吗,有直接宝塔安装了直接用的吗
    clf
        14
    clf  
       2022-07-18 16:52:33 +08:00
    @brader 编辑问题不大,最后安装也是靠自己打包编译的,但整体就比较折腾,最后就用 docker 了;新装的服务器也统一用 ubuntu 了。
    konakona
        15
    konakona  
       2022-07-18 16:52:54 +08:00
    Gitlab 用 docker 部署好处是易于升级维护,漏洞不管是怎么安装的都会有的,随着版本号的。
    推荐 docker 安装。
    clf
        16
    clf  
       2022-07-18 16:55:58 +08:00
    @unt 宝塔不如自己手动装……宝塔本质上也是用包管理器安装的各个应用(也有下载二进制文件帮你配环境变量的脚本),特殊适配了一些应用的适配界面。但面板本身会带来额外的漏洞。
    brader
        17
    brader  
       2022-07-18 17:01:50 +08:00
    @clf 编译软件还好吧,也不是很难,这是 linux 使用者必然会遇到的问题,不是每个软件都有上包管理市场的
    brader
        18
    brader  
       2022-07-18 17:02:54 +08:00   ❤️ 1
    @unt 如果你是一个后端或者运维,用宝塔我都鄙视你。。。如果是前端之类的,那还理解
    Mithril
        19
    Mithril  
       2022-07-18 17:06:58 +08:00
    主要是不想折腾,Gitlab 的 Docker 是带了全部依赖的,直接跑就行。
    docker compose 配好了,每次升级改一下版本,或者你实在懒得改就 latest 。
    主机随便打补丁,开个端口就完了,也不容易出问题。
    哪怕是我自己的 infra 设施,也是能 docker 就上 docker ,至于 linux 配置啥的随便去吧,早就懒得学了。
    defunct9
        20
    defunct9  
       2022-07-18 17:09:47 +08:00
    onedev
    unt
        21
    unt  
    OP
       2022-07-18 17:14:12 +08:00
    @brader #18 前端全栈
    int80
        22
    int80  
       2022-07-18 17:16:16 +08:00   ❤️ 1
    docker compose 一把梭,有什么麻烦的?
    clf
        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 ,我是一点也不想升级它的。
    gengchun
        24
    gengchun  
       2022-07-18 18:58:55 +08:00
    只考虑不用维护依赖的话,和简化升级。其实官方的 omnibus 包的安装难度并不比官方 omnibus 容器镜像高多少。因为还是要自己搞定 MTA 。比较常见的是独立虚机加上 omnibus 包。

    更简单的其实是用虚机镜像。gitlab 有官方的 AMI ,只不过 aws 相对较小的云服务商比较贵。

    docker 的部署只是在费用和便捷上面折中了一些。这样可以复用一台虚机。还有一定的隔离。



    安全性的话,一般这种内部服务,不建议直接放到公网上,实在要用公网,至少要配置双向认证证书。公网只有双向 https 和 ssh 端口,要攻击还是很折腾人的。

    上私有 gitlab 算是比较大的组织和项目才需要的,一般就是降低运维难度和费用之间做选择。
    flexbug
        25
    flexbug  
       2022-07-18 19:54:41 +08:00 via iPhone   ❤️ 1
    这个不都放内网吗,怎么还有外部攻破安全问题
    shanyuhai123
        26
    shanyuhai123  
       2022-07-18 20:02:00 +08:00
    docker compose 一把梭,有什么麻烦的?
    securityCoding
        27
    securityCoding  
       2022-07-18 20:04:35 +08:00
    我现在的理念是任何后台服务可以的话肯定首选 docker ,把数据目录挂载出来就好
    zr8657
        28
    zr8657  
       2022-07-19 10:31:23 +08:00
    我连 docker compose 都懒得用,直接拉 latest 镜像 5 分钟就搞定了。反正都是内网,怕啥
    julyclyde
        29
    julyclyde  
       2022-07-19 10:42:41 +08:00
    没有什么优势
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   925 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:58 · PVG 03:58 · LAX 11:58 · JFK 14:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.