Shell-Script

Shell 腳本在建構 Dockerfile 時引用另一個目錄

  • April 16, 2022

我正在使用 MacOS。

我的項目目錄結構是這樣的:

myapp/
 app.js
 Dockerfile
 subapp/
     Dockerfile
 script/
    - myshell.sh

myshell.sh中,我編寫了 shell 腳本來建構位於目錄下的 Dockerfile subapp/

#!/usr/bin/env bash
docker build -t myreg/my-sub-app:1.0 -f ../subapp/Dockerfile .

在我的終端中,在項目根目錄下myapp/執行我的 shell 腳本:sh script/myshell.sh

我收到泊塢窗錯誤:

failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount330496679/Dockerfile: no such file or directory

我認為這是一個與上下文相關的問題。有人可以為我詳細說明錯誤的原因是什麼以及在 shell 腳本中引用這種情況下的另一個目錄的正確方法是什麼?

路徑相對於目前目錄(myapps在您的情況下),而不是包含腳本的目錄:

docker build -t myreg/my-sub-app:1.0 -f subapp/Dockerfile .

引用自:https://unix.stackexchange.com/questions/699261