【问题标题】:admin-on-rest runtime configuration supportadmin-on-rest 运行时配置支持
【发布时间】:2017-10-28 16:29:20
【问题描述】:

我构建了一个 docker 镜像(基于官方 nginx 镜像)来服务 build 文件夹,它是 yarn build 的结果。我的问题是我有一个独特的图像可以在测试和生产环境中使用。我不想为每个环境使用不同的图像,而是想利用容器启动配置来运行我的容器与测试或产品配置。也就是说,某种与构建任务分离的配置可以应用在构建之上

原因是这两个环境之间没有区别,除了我的后端端点,它由我的自定义 http 客户端在 admin-on-rest 应用程序中使用。

是否支持这种配置,或者我应该实现类似this 的东西?

谢谢

【问题讨论】:

    标签: reactjs docker yarnpkg admin-on-rest


    【解决方案1】:

    你可以通过向你的镜像中添加一个新脚本来更新 nginx 使用的地址来获得类似的东西:

    #!/bin/bash
    
    if [[ ! -z "$PROD" && "PROD" != '0' ]] ; then
        sed -i 's/address_in_file/test_env_address/g' /etc/nginx/conf.d/default.conf
    else
        sed -i 's/address_in_file/prod_env_address/g' /etc/nginx/conf.d/default.conf
    fi
    
    nginx -g daemon off
    

    这不是一个好的解决方案,但它确实有效。

    address_in_file 是配置文件中定义的当前后端地址

    test_env_address 是脚本以环境变量 PROD = 0(或根本没有 PROD)启动时应该出现的新地址

    prod_env_address 是生产地址

    【讨论】:

    • 是的,即使有点讨厌,这绝对可以工作。我更喜欢这种方法而不是here 描述的方法。想知道是否还有其他选择......如果没有,我会选择你建议的那个。谢谢!
    • ps:不是nginx使用而是浏览器使用(即包含在js文件中)
    • 如果您发现不同的方法,请告诉我,因为我使用的是类似的东西,我对此并不感到自豪
    猜你喜欢
    • 1970-01-01
    • 2021-12-27
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    相关资源
    最近更新 更多