intro
- 需要用到 aws command line 下載檔案
- 不想裝在本機,完全透過 docker 處理
- 注意事項:需要暸解 docker volume 的設定與本機開放同步目錄關係
Step
docker pull 拉下 aws 官方 cli docker image 並建立登入設定檔(憑證)
替換 ~/my-docker-dev/Dockerfiles/aws-cret
部份;此為本機儲存 aws cli 的憑證位置
執行後依說明,輸入相關 id(key) secret….
$ docker run --rm -it -v ~/my-docker-dev/Dockerfiles/aws-cret:/root/.aws amazon/aws-cli configure
嘗試 cli 是否正常取得 s3 bucket 列表
$ docker run --rm -it -v ~/my-docker-dev/Dockerfiles/aws-cret:/root/.aws amazon/aws-cli s3 ls
嘗試 cli 下載 s3 bucket 中指定檔案 (e.g. s3://my-bucket-files/test.pdf)
會將檔案下載至本機 ~/Projects/files/test.pdf
位置
docker run --rm -it -v ~/my-docker-dev/Dockerfiles/aws-cret:/root/.aws -v ~/Projects/files:/aws amazon/aws-cli s3 cp s3://my-bucket-files/test.pdf .
批次與指令化
可以在 bash_profile 自定語法
s3dl() {
docker run --rm -it -v ~/my-docker-dev/Dockerfiles/aws-cret:/root/.aws -v ~/Projects/files:/aws amazon/aws-cli s3 cp s3://$1 .
echo "\t download to '~/Projects/files'"
}
usage …
s3dl my-bucket-files/test.pdf
批次下載多個檔案
s3dl my-bucket-files/test-01.pdf
s3dl my-bucket-files/test-02.pdf
s3dl my-bucket-files/test-03.pdf
s3dl my-bucket-files/test-04.pdf
.
.
.
ref.
https://docs.aws.amazon.com/zh_tw/cli/latest/userguide/install-cliv2-docker.html