2017-08-16 571 views
2

Docker映像(基于Windows)包含一个应用程序目录C:\App。该目录内部存在多个子文件夹和文件,其中包括一个名为process.bat的批处理文件。该Dockerfile(用于生成图像)结束这样的:如何指定Dockerfile中的ENTRYPOINT的工作目录

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

当我使用命令实例化这个图像:docker run company/app,该批处理文件运行,但它在哪里C:\App下的其他文件中引用的点失败。实质上,Docker容器入口点的工作目录仍然是C:\

有没有办法在Dockerfile中设置工作目录?替代品的夫妇确实存在:

  • 添加-w C:\App到泊坞窗运行
  • 在批处理文件,我可以在一开始cd /D C:\App

添加一行但有指定的工作方式Dockerfile中的目录?

回答

4

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

1

如果/App是安装的卷,那么你应该WORKDIR之前指定VOLUME /AppENTRYPOINT使用它,否则它不ENTRYPOINT可以看出:

VOLUME ["/App"] 
WORKDIR /App 
ENTRYPOINT ["sh", "start.sh"] 

start.sh/App目录中。

相关问题