V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Vincent332
V2EX  ›  Docker

求助:能否用 docker 来包裹网站的每个子页面?

  •  
  •   Vincent332 · 2022-04-12 12:51:07 +08:00 · 3774 次点击
    这是一个创建于 983 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的目的是希望能在少修改,甚至不修改子页面代码的情况下把网页设计成一个类似可插拔系统。理想情况下子页面在 docker 写好单独的页面之后不需要修改只要在主页面只增加一个链接就可以工作。

    每个子页面是独立内容,都是从主页面跳转,网址前缀都是主页面的 url

    这种需求最好用什么方法实现?如果子页面需要有前后端交互的情况会有什么影响呢?

    第 1 条附言  ·  2022-04-12 14:24:14 +08:00
    这里解释一下为什么需要 docker ,因为本来这个是作为一个学生作品展示的系统,学生可能用不一样的环境,所以最好是放在 docker 里通过跳转进入各自的界面
    24 条回复    2022-04-13 14:41:19 +08:00
    dayeye2006199
        1
    dayeye2006199  
       2022-04-12 13:01:26 +08:00 via Android
    没看懂这个需求。话说静态页面不就是这样的吗?每个页面就是个 HTML+js 的独立文件。
    Vincent332
        2
    Vincent332  
    OP
       2022-04-12 13:04:58 +08:00
    @dayeye2006199 是,静态页面应该没什么问题,我在想有数据库需求之类的 api 有什么方法可以在不修改子页面代码的情况下放进主页面还能正常工作
    shabbyin
        3
    shabbyin  
       2022-04-12 13:08:29 +08:00
    主项目里 nginx 配置反向代理到子页面的 nginx ?
    FreeEx
        4
    FreeEx  
       2022-04-12 13:11:40 +08:00
    你需要的不是 docker ,而是一个可动态控制的菜单栏。
    dcsuibian
        5
    dcsuibian  
       2022-04-12 13:16:42 +08:00
    做应该能做,但感觉不太靠谱。首先至少要有 nginx 反代解决同源问题。其次如果用 iframe 来嵌入的话,内外部状态同步就比较麻烦,比如里网页有模态框时,背景无法延伸到外部。而且感觉 docker 对这个东西真的是大财小用了。

    要真要做的话,感觉像楼上说的那样,一个可动态控制的菜单栏就好。把路由信息存数据库里,访问主页面的时候遍历一下生成菜单栏,然后根据链接和静态文件位置直接发给浏览器就好了吧。
    janxin
        6
    janxin  
       2022-04-12 13:32:27 +08:00
    请问你要找到的是 https://remix.run/ 吗?
    binux
        7
    binux  
       2022-04-12 13:44:52 +08:00 via Android
    刚想回复说 LZ 连概念都没有搞清楚。然后想了想确实有 k8s docker link 自动配置的 Nginx 配置的,也不是不行吧。
    lazyyz
        8
    lazyyz  
       2022-04-12 13:53:59 +08:00
    wordpress + 主题不行么?为什么要用 docker 来干这个?
    Blacate
        9
    Blacate  
       2022-04-12 13:55:54 +08:00 via iPhone
    你是在说微前端吗 可以看看 qiankun 或者 garfish
    THESDZ
        10
    THESDZ  
       2022-04-12 13:58:38 +08:00
    docker+traefik
    dabai0806
        11
    dabai0806  
       2022-04-12 14:19:41 +08:00
    你这个和 docker 没什么关系
    twing37
        12
    twing37  
       2022-04-12 14:34:04 +08:00
    感觉说成宏(微)服务. 大家更好明白点
    yangzzzzzz
        13
    yangzzzzzz  
       2022-04-12 14:45:22 +08:00   ❤️ 2
    走火入魔了?
    why1001
        14
    why1001  
       2022-04-12 14:45:31 +08:00
    我们也想过这个,我们是 SAAS 服务,客户有定制字段的需求,想着给他写一个页面和微型后端,放到 docker 中然后 url 引入进来,蹲一个解决方案。。。
    pcbl
        15
    pcbl  
       2022-04-12 14:46:36 +08:00 via Android   ❤️ 3
    这是中了 docker 的毒
    lxz6597863
        16
    lxz6597863  
       2022-04-12 15:59:22 +08:00
    traefik
    clf
        17
    clf  
       2022-04-12 16:06:45 +08:00
    @why1001 一般用租户 ID 解决,SAAS 还是前后端代码都统一,根据登录的用户角色以及租户 ID ,下发不同的菜单。
    kazeni
        18
    kazeni  
       2022-04-12 16:29:02 +08:00
    可以试试用 iframe 嵌套子页面,前后端交互可能需要处理请求 Referer ,还是得看具体场景吧
    Terang
        19
    Terang  
       2022-04-12 17:45:17 +08:00
    听着像是前端微服务化?类似腾讯云 /阿里云这种页面可插拔网站
    littlewing
        20
    littlewing  
       2022-04-12 17:54:18 +08:00
    微服务?
    happybabys
        21
    happybabys  
       2022-04-12 21:11:56 +08:00
    思维僵化了,根据需求来寻找解决方案吧,别盯着 docker 不放。
    xuzhzzz
        22
    xuzhzzz  
       2022-04-13 00:26:58 +08:00
    微前端 建议了解一下这个词
    zjsxwc
        23
    zjsxwc  
       2022-04-13 08:59:12 +08:00
    每一个学生项目都是一个 docker 镜像?
    楼主只有一个域名?
    楼主要在这个域名下展示每个学生的项目?
    scyuns
        24
    scyuns  
       2022-04-13 14:41:19 +08:00
    你说的和 docker 有什么关系吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2100 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 00:26 · PVG 08:26 · LAX 16:26 · JFK 19:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.