我正在尝试在docker compose文件中使用args。
docker-compose文件:
version: '3'
services:
service1:
image: test
restart: always
build:
context: C:/ProgramData/
dockerfile: Dockerfile
args:
entry: 1
volumes:
- C:/ProgramData/test
Dockerfile:
FROM microsoft/dotnet-framework:3.5
ARG entry
WORKDIR C:\\test
ADD ["/bin/x86/Release/","C:/test/"]
ENTRYPOINT ["C:\\test\\file.exe", ${entry}]
我不知道docker文件中语法的确切工作方式。我如何将arg放在ENTRYPOINT
中?
答案 0 :(得分:1)
您不能在ARG
中使用ENTRYPOINT
(至少不能直接使用)。参见How to pass ARG value to ENTRYPOINT?:
在ENTRYPOINT或CMD中,ARG和ENV均未扩展。 (https://docs.docker.com/engine/reference/builder/#environment-replacement)但是,由于ENV是作为环境的一部分传入的,因此它们在运行时可用,因此Shell可以对其进行扩展。 (这意味着您不能使用ENTRYPOINT或CMD的数组形式。)
答案 1 :(得分:0)
我通过如下更改Dockerfile来解决了这个问题:
genrsa