可以在构建时覆盖docker环境变量吗?

时间:2018-07-03 10:23:12

标签: node.js docker

我是Docker的新手,正在尝试基于sinet / nginx-node设置自己的映像。如Docker Hub中所述,其Dockerfile包含:

ENV NODE_VERSION 5.9.1

我自己的Dockerfile开头为:

FROM sinet/nginx-node

是否可以在构建时重写NODE_VERSION变量,以便基于较新版本的Node构建我的映像?还是我应该简单地避免使用原始的sinet / nginx节点,而简单地自己修改其Dockerfile副本,包括更新的Node版本?

1 个答案:

答案 0 :(得分:1)

使用sinet/nginx-node会将其用作基础层。 Docker不会重建基础层,尽管您可以更改ENV变量,但它不会重建基础映像。

Docker是关于状态的明确定义的快照,因此对于您的用例,我会选择使用升级的节点版本创建自己的Dockerfile。

您还可以尝试升级当前Dockerfile中的节点。