我有一个包含以下内容的Dockerfile:
ServletContext
我希望用户可以像这样在自己的Dockerfile / docker-compose.yml中指定该参数
# myimage
ARG NODE_VERSION=10
FROM node:${NODE_VERSION}
...
似乎这种方法不起作用
答案 0 :(得分:1)
可以使用ARG
通过带有变量及其值的--build-arg
标志直接传递到ENV中来设置映像构建期间的默认Docker环境变量。
最佳做法是创建映像并按如下所示运行隔离的容器。
创建一个Dockerfile
ARG NODE_VERSION=default_value
FROM node:${NODE_VERSION}
.....
.....
ENV NODE_VERSION=$NODE_VERSION
....
...
docker build --build-arg NODE_VERSION=12 -t platform-ops .
platform-ops
图片创建一个docker-compose.yml
version: '3'
services:
web:
image: platform-ops
.....
....
运行docker-compose up -d