请问 gitlab 部署在 docker 上的优势是什么,有必要 docker 部署吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
unt
V2EX    git

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

  •  
  •   unt Jul 18, 2022 4778 views
    This topic created in 1382 days ago, the information mentioned may be changed or developed.

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

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

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

    比如 Centos 的 git 版本是有大坑的,git 依赖无法更新到公网的最新版本,大概差了好多大版本了。上次为了更新这个 git 依赖,得卸载一些东西掉,然后重新装回来,折腾了快一天时间。
    brader
        10
    brader  
       Jul 18, 2022
    @mahone3297 我在 prod 使用过
    brader
        11
    brader  
       Jul 18, 2022
    @clf 这时候就该演奏你的编译三步曲了,我是 centos 的重度使用者,我在这上面安装 git 新版的话,都是自行下载编译
    qwerthhusn
        12
    qwerthhusn  
       Jul 18, 2022   1
    方便升级,改一下版本号,docker-compose up -d 直接就自动升级并启动
    方便备份。将 /etc/gitlab/和 /var/opt/gitlab/这两个做映射或 volume ,后面直接备份这两个文件夹即可
    方便迁移,直接将上述两个映射目录和 docker-compose.yaml 拷贝到另外一个服务器,直接启动就行了。
    unt
        13
    unt  
    OP
       Jul 18, 2022
    所以说 V 友们现在部署都是大部分 docker 部署的吗,有直接宝塔安装了直接用的吗
    clf
        14
    clf  
       Jul 18, 2022
    @brader 编辑问题不大,最后安装也是靠自己打包编译的,但整体就比较折腾,最后就用 docker 了;新装的服务器也统一用 ubuntu 了。
    konakona
        15
    konakona  
       Jul 18, 2022
    Gitlab 用 docker 部署好处是易于升级维护,漏洞不管是怎么安装的都会有的,随着版本号的。
    推荐 docker 安装。
    clf
        16
    clf  
       Jul 18, 2022
    @unt 宝塔不如自己手动装……宝塔本质上也是用包管理器安装的各个应用(也有下载二进制文件帮你配环境变量的脚本),特殊适配了一些应用的适配界面。但面板本身会带来额外的漏洞。
    brader
        17
    brader  
       Jul 18, 2022
    @clf 编译软件还好吧,也不是很难,这是 linux 使用者必然会遇到的问题,不是每个软件都有上包管理市场的
    brader
        18
    brader  
       Jul 18, 2022   1
    @unt 如果你是一个后端或者运维,用宝塔我都鄙视你。。。如果是前端之类的,那还理解
    Mithril
        19
    Mithril  
      &bsp;Jul 18, 2022
    主要是不想折腾,Gitlab 的 Docker 是带了全部依赖的,直接跑就行。
    docker compose 配好了,每次升级改一下版本,或者你实在懒得改就 latest 。
    主机随便打补丁,开个端口就完了,也不容易出问题。
    哪怕是我自己的 infra 设施,也是能 docker 就上 docker ,至于 linux 配置啥的随便去吧,早就懒得学了。
    defunct9
        20
    defunct9  
       Jul 18, 2022
    onedev
    unt
        21
    unt  
    OP
       Jul 18, 2022
    @brader #18 前端全栈
    int80
        22
    int80  
       Jul 18, 2022   1
    docker compose 一把梭,有什么麻烦的?
    clf
        23
    clf  
       Jul 18, 2022
    @brader 不是编译的问题,而是如何快速去解决 gitlab 、gitlab-runner 等一大堆依赖 git 的服务去平稳切换依赖。如果只是装个 git 最新版本,轻轻松松。

    我对 centos 编译后能不能直接更新替换原来的 git 不是很清楚。总之我能找到的大部分 centos 的教程都是要卸载掉 git 老版本的。然后卸载 git 老版本的前提是你得卸载掉 gitlab 、gitlab-runner 等一堆依赖 git 的东西。如果不是 1.x 版本的 git 会有严重的 bug ,我是一点也不想升级它的。
    gengchun
        24
    gengchun  
       Jul 18, 2022
    只考虑不用维护依赖的话,和简化升级。其实官方的 omnibus 包的安装难度并不比官方 omnibus 容器镜像高多少。因为还是要自己搞定 MTA 。比较常见的是独立虚机加上 omnibus 包。

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

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



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

    上私有 gitlab 算是比较大的组织和项目才需要的,一般就是降低运维难度和费用之间做选择。
    flexbug
        25
    flexbug  
       Jul 18, 2022 via iPhone   1
    这个不都放内网吗,怎么还有外部攻破安全问题
    shanyuhai123
        26
    shanyuhai123  
       Jul 18, 2022
    docker compose 一把梭,有什么麻烦的?
    securityCoding
        27
    securityCoding  
       Jul 18, 2022
    我现在的理念是任何后台服务可以的话肯定首选 docker ,把数据目录挂载出来就好
    zr8657
        28
    zr8657  
       Jul 19, 2022
    我连 docker compose 都懒得用,直接拉 latest 镜像 5 分钟就搞定了。反正都是内网,怕啥
    julyclyde
        29
    julyclyde  
       Jul 19, 2022
    没有什么优势
    About     Help     Advertise     Blog     API     FAQ     Solana     2705 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 64ms UTC 13:44 PVG 21:44 LAX 06:44 JFK 09:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86