如何使用 AWS 在 Docker Cloud 中设置链接到 S3 的卷?

Posted

技术标签:

【中文标题】如何使用 AWS 在 Docker Cloud 中设置链接到 S3 的卷?【英文标题】:How to set up a volume linked to S3 in Docker Cloud with AWS? 【发布时间】:2016-09-01 21:19:28 【问题描述】:

我正在运行我的 Play!带有 Docker Cloud(也可以使用 Rancher)和 AWS 的 webapp,我想将所有日志存储在 S3 中(通过卷)。关于如何以最少的努力实现这一目标的任何想法?

【问题讨论】:

【参考方案1】:

使用docker volumes 将日志存储在主机系统中。

尝试S3 aws-cli 将您的本地目录与S3 Bucket 同步

aws s3 sync /var/logs/container-logs s3://bucket/ 

创建一个cron 以每分钟左右运行一次。

参考:s3 aws-cli

【讨论】:

谢谢,但是你能想出一个不修改主机系统的方法吗? Docker Cloud 提供的默认 ami 并不简单。有hub.docker.com/r/dockercloud/dockup 的经验吗? 不知道你为什么投反对票 - 这似乎是最简单的解决方案 IMO - 只需使用基于 docker 的 aws-cli 版本,如:github.com/xueshanf/docker-awscli 并编写一个 bash 脚本将卷挂载备份到 s3 x 秒,然后睡眠 x 秒,冲洗重复......同样 - 不确定你的容器正在运行什么,但你应该有可用于写入 s3 的日志记录解决方案 - 这是 nodejs 应用程序的一个 - github.com/coggle/s3-streamlogger 我没有投反对票。我希望有其他一些不那么老套的解决方案

以上是关于如何使用 AWS 在 Docker Cloud 中设置链接到 S3 的卷?的主要内容,如果未能解决你的问题,请参考以下文章

如何集成 AWS + ELB + AutoScale + Docker + Spring Cloud

在 AWS 中自动扩展 docker 容器

Spring Cloud 微服务(五) 部署到AWS ECS

AWS EC2+Docker+JMeter构建分布式负载测试基础架构

如何在本地使用 spring-cloud-starter-aws 运行应用程序?

带有临时端口的 Spring-cloud brixton、eureka 和 docker