2017-08-16 22 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目錄中。

相關問題