如何在Dockerfile中为ENTRYPOINT指定工作目录

Docker映像(基于Windows)包含C:\App的应用程序目录。 在那个目录里面有几个子文件夹和文件,包括一个叫做process.bat的batch file。 Dockerfile(用于构build映像)像这样结束:

 ENTRYPOINT [ "C:\\App\\process.bat" ] 

当我使用命令docker run company/app命令实例化这个镜像时,batch file运行,但是在C:\App下的其他文件被引用的时候失败。 本质上,工作目录仍然是来自Docker容器入口点的C:\

有没有办法在Dockerfile中设置工作目录? 几个替代scheme确实存在:

  • -w C:\App添加到docker run
  • 在batch file中,我可以在开头cd /DC:\App添加一行

但有没有办法指定Dockerfile中的工作目录?

WORKDIR /App是您可以在您的dockerfile中使用的命令来更改工作目录。