我在Dockerfile中有以下几行,我想在应用程序启动之前将配置文件中的值设置为默认值,并-e在启动容器时使用该选项提供可选项.
我正在尝试使用Docker的ENV突击队员
ENV CONFIG_VALUE default_value
RUN sed -i 's/CONFIG_VALUE/'"$CONFIG_VALUE"'/g' CONFIG_FILE
CMD command_to_start_app
Run Code Online (Sandbox Code Playgroud)
我在文件CONFIG_FILE中显式地显示字符串CONFIG_VALUE,并且Dockerfile中的默认值被正确替换.但是,当我运行带有添加的容器时,-e CONFIG_VALUE=100不执行替换,将保留Dockerfile中设置的默认值.
当我做
docker exec -i -t container_name bash
Run Code Online (Sandbox Code Playgroud)
和echo $CONFIG_VALUE容器内的环境变量确实包含所需的值100.