我正在使用 golang 和 aws S3 SDK for golang 執行檔案傳輸服務。目的是將檔案上傳到 S3 并將檔案從 S3 下載到用戶系統。我能夠做到,但現在,我需要使用 docker 來容器化我的應用程式。由于docker容器會有自己的本地檔案系統,恐怕我在golang中的代碼會將檔案下載到docker本地檔案系統而不是用戶的本地檔案系統。誰能指導我如何實作將檔案下載到用戶的本地系統而不是 docker 檔案系統?提前致謝。
uj5u.com熱心網友回復:
為了實作您的要求,您必須將 docker 檔案系統與用戶的檔案系統進行系結。一種方法是使用“卷”。另請參閱鏈接https://docs.docker.com/storage/了解更多資訊。
uj5u.com熱心網友回復:
TL;DR 你需要使用卷。
例如,如果要使用aws-clifrom docker,從 S3 下載一個檔案到當前路徑,則需要運行:
docker run --rm -it -v $(pwd):$(pwd) -v ~/.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli:2.0.6 s3 cp s3://<bucket_name>/<file> $(pwd)/.
我知道您正在使用應用程式來獲取這些檔案,但是這個示例可以幫助您了解 Docker 中的作業原理。基本上,我們將當前目錄與 docker 容器的主檔案夾映射,您只需要調整應用程式使用的卷的路徑。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/318848.html
上一篇:當我的Lambda可以訪問S3存盤桶時,為什么我的GetObjectRequest回傳403AccessDenied錯誤?
