簡體   English   中英

將文件作為參數傳遞給 docker 運行

[英]passing file as argument to docker run

我有一個 python3 命令行腳本,它使用 argparse 讀取 arguments 並給出結果。 當我從終端運行時它工作正常:

my_cli --input input.csv --output output.csv --number 8

我成功地將其 dockerized 並嘗試運行為:

docker run --mount type=bind,source=/tmp/path,target=/app my_cli_container --input input.csv --output output.csv --number 8

我得到: FileNotFoundError: [Errno 2] No such file or directory:input.csv

我在這里做錯了什么? 為什么容器看不到輸入文件? 我是否需要做一些額外的事情來讀取這個輸入文件和數字,然后將 output 寫入文件?

謝謝你。

這將取決於input.csv在容器內部和外部的位置,以及容器中的工作 DIR。

您正在通過/tmp/path/app但在容器外部的文件夾/tmp/path中是input.csv如果沒有,則容器將無法訪問該文件

如果是,那么容器/app內的工作 DIR 是什么? 否則你需要傳入--input /app/input.csv

另請注意,由容器(out.csv)寫入的任何文件都將以容器中的用戶(可能是 root)的身份寫入,因此您的用戶可能無法讀取

暫無
暫無

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

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