假设我键入以下命令
docker-compose -f docker-compose.yml build --build_args PARAM=1
我应该如何编写docker-compose.yml以便yml字段获得参数PARAM
,其值为1
?
我的yml文件在下面。
version: '3.7'
services:
web:
build:
context: .
dockerfile: ./Dockerfile
args:
- MY_PARAM: ${PARAM}
ports:
- "5000:5000"
image: sample-img:1.0
我添加了
args:
- MY_PARAM: ${PARAM}
在build
下。这是正确的吗?
答案 0 :(得分:0)
在这里,您可以在使用compose时传递构建参数-
允许在Dockerfile中支持参数。
FROM foo:bar
ARG PARAM
ARG PARAM2
.................
现在您可以通过两种不同的方式传递这些参数-
在运行时-
docker-compose -f docker-compose.yml build --build-arg "PARAM=1 PARAM2=2"
在使用shell的情况下-
$ export PARAM=1 PARAM2=2
按如下所示更改docker的组成-
dockerfile: ./Dockerfile.foo
args:
PARAM: ${PARAM}
PARAM2: ${PARAM2}
构建-
$ docker-compose -f docker-compose.yml build