当前位置: 首页 > 面试题库 >

Dockerfile和dev / test / prod环境

董嘉祯
2023-03-14
问题内容

我想创建一个Dockerfile,它将能够构建三个不同的映像(此刻一个)。这些映像仅在配置文件中有所不同。

我正在尝试:

  • 创建三个不同的Docker文件(不起作用,因为dockerfile需要命名为Dockerfile并且位于上下文根目录中
  • 寻找一种将参数传递给docker build命令的方法-找不到
  • 使用ONBUILD命令-我创建了一个主文件和三个特定的文件,它们将特定的conf文件复制到映像中的同一目录(由于与第一点相同的原因,该文件不起作用)
  • 从stdin传递docker文件-它不起作用,因为那时没有上下文(所以我不能使用ADD / COPY命令)

我必须说我没有想法:/您如何处理这种情况。我认为这应该是一个普遍的问题。


问题答案:

为什么不在Dockerfile中复制所有3个配置文件,然后docker run -e config=file1(或file2或file3)并使用config环境变量的值来获取所需的配置文件。请查看doc
http://docs.docker.com/reference/commandline / cli
/#run

您还可以使用--env-file=[] Read in a line delimited file of environment variables的的docker run命令。

您可以检查环境变量是否可用于 docker run -it -e mytag=abc123 ubuntu:latest env | grep mytag演出 mytag=abc123



 类似资料:
  • 本文向大家介绍springboot多环境(dev、test、prod)配置详解,包括了springboot多环境(dev、test、prod)配置详解的使用技巧和注意事项,需要的朋友参考一下 我们在开发应用的时候,通常同一套程序会被应用和安装到几个不同的环境中,比如开发、测试、生产等。 其中每个环境的数据库地址、服务器端口等配置都不同。如果在为不同环境打包时都要频繁的修改配置文件,那必将是个非常繁

  • 我正在研究HELM图表,但我无法加入我们如何使用模板/deployment.yaml、values.yaml和a deployment.yaml来建立相同的图表。 注: 它是同一个环境变量,将根据部署环境保存不同的值。

  • config.js里怎么配置,配置好后又怎么知道打的包是开发环境的包还是生产环境的包? app是不是不能打包?有人试过么?

  • 我想添加新的日志文件MyNewLog.log,我不想在不影响现有日志的情况下,在不同的环境中使用不同的日志级别。dev环境和prod环境的级别在下面的描述中提到: 用于开发环境 级别错误处于活动状态 级别信息处于活动状态 级别调试处于活动状态(开发人员的默认级别) 我添加了一个新的appendermyNewLog,并将默认级别设置为DEBUG,然后创建了一个名为myNewLog的3个记录器,每个记

  • 问题内容: 我有一个用Maven生成的Java EE 6应用程序,在NetBeans 7中编码,并部署在GlassFish 3.1.2上。当我快要完成时,我发现自己正在部署演示版本。 问题是,我没有针对不同环境(如dev,QA,demo,prod等)构建的简单方法。对于某些东西,我一直在使用Java类,该类具有大量返回的静态getter值基于环境常数的值。但这对我有条件设置没有帮助 javax.f

  • 我有一个应用程序,它使用一个在开发环境中工作的数据列表,但在生产环境中返回一个没有查找的空白字段。我想广泛使用datalist,因为它很容易提供一个自动完整的工具,但除非它在生产中工作。 Dev是在Win7下的IE11.0上的MVC VS 2010,在HTML5Test中得分302。产品是服务器2012 R2标准上的IE11.0,报告为Win8.1,在HTML5Test中得分为312分。 经过大量