簡體   English   中英

我可以將運行在Docker容器中的腳本輸出作為本地文件夾嗎?

[英]Can I have an output of a script running in a Docker container as a local folder?

我正在創建一個Dockerfile,克隆我的遠程倉庫,然后構建。

我可以將Docker容器中的輸出文件夾映射到本地文件夾,以便在其中生成構建結果嗎?

對於這樣的事情,我不會使用docker build 而是創建一個Docker映像,其中包含構建項目並將其用作“編譯器”的必要工具。 最后,您希望能夠:

$ docker run -v $(pwd):/output compiler

與在docker build期間執行命令相比,使用命令構建項目具有很多優勢:

  • 您可以使用卷將本地目錄掛載到Docker容器中
  • 您可以輕松地重新運行構建過程的單個步驟,而不必重新運行整個構建
  • 您可以構建項目,並將構建輸出用於另一個圖像(例如,構建Javascript項目並將其放入nginx圖像中)

不能從容器本身“映射”。 建築物和地圖/坐騎並不能真正共存(除非您使用搖桿之類的東西來構建)。 不過,您可以從構建的映像中獲取數據的副本。

通過tar

docker run --rm IMAGE tar -cf - /clone | tar -xvf - 

docker cp

CID=$(docker create IMAGE)
docker cp $CID:/clone ./
docker rm -f $CID

或使用命名的卷 ,可從inspect的Mountpoint找到數據。

docker run --rm -v myclone:/clone IMAGE sleep 1
docker volume inspect myclone

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM