如何将 s3 文件添加到 docker 镜像

Aro*_*adz 6 amazon-s3 docker

我是 docker 的新手。我正在尝试将 R 应用程序部署为 docker 映像。我可以通过挂载文件夹在 docker 中部署应用程序。但我认为这不会在 AWS 中起作用。我正在考虑将我的应用程序存储在 s3 中并在通过 ADD 命令构建期间添加它。但它向我抛出了这个错误: 添加失败:stat /var/lib/docker/tmp/docker-builder441270805/s3:/bucket_name/app: no such file or directory

你们能告诉我怎么做吗?谢谢

Ric*_*out 2

这不起作用,因为/var/lib/docker/tmp/docker-builder441270805/s3:/bucket_name/app这不是有效的路径,docker 根本找不到任何东西。

可能的解决方案:

  1. 将 s3 文件夹挂载到本地文件夹并使用它。
  2. 使存储桶公开可用,并使用curl/wget 或其他方式将应用程序下载到Dockerfile 中。

选项 1 的优点是只需对当前工作流程进行很少的更改,而选项 2 则允许任何有权访问存储桶的人都能够构建 dockerfile,而无需对底层操作系统/文件结构执行任何操作。

请注意,从 s3 下载文件可能并不总是有效,docker 缓存相当激进,当您希望更新的输出将其放入新容器时,可能会导致问题。

有关更多信息,请参阅博客文章。