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

时间:2017-08-16 13:21:31

标签: docker amazon-s3

我是码头工人的新手。我正在尝试将R应用程序部署为docker镜像。我可以通过挂载文件夹在docker中部署应用程序。但我认为这不会在AWS中发挥作用。我正在考虑将我的应用程序存储在s3中,并在构建期间通过ADD命令添加它。但它给我这个错误: ADD失败:stat / var / lib / docker / tmp / docker-builder441270805 / s3:/ bucket_name / app:没有这样的文件或目录

你们能告诉我如何做到这一点吗? 感谢

1 个答案:

答案 0 :(得分:2)

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

可能的解决方案:

  1. mount the s3 folder到本地文件夹并使用它。
  2. 公开提供存储桶并下载应用程序 Dockerfile使用curl / wget或其他。
  3. 选项1的优点是必须对当前工作流程进行很少的更改,而选项2允许任何有权访问存储桶的人能够构建dockerfile而无需对底层的os /文件结构执行任何操作。 / p>

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

    有关详细信息,请参阅this博文。