Windows docker-compose args无法正常工作

时间:2018-06-26 09:56:05

标签: docker docker-compose dockerfile

我正在尝试在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中?

2 个答案:

答案 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