【发布时间】:2016-11-17 20:03:15
【问题描述】:
我创建了一个 EBS 卷,将其附加并安装到我的容器实例中。在任务定义卷中,我将卷源路径设置为安装目录。 容器数据没有在挂载的目录中创建,挂载的 EBS 之外的所有其他目录都可以正常工作。
目的是将数据保存在容器外,并用另一个卷备份它。
有没有办法将此附加卷与我的容器一起使用?或者是处理卷和备份的更好方法。
编辑:它使用随机 docker 镜像进行测试,运行它指定卷,我遇到了同样的问题。我设法使其重新启动 Docker 服务工作,但我仍在寻找无需重新启动 Docker 的解决方案。
检查具有已挂载 EBS 的卷目录的容器
"HostConfig": {
"Binds": [
"/mnt/data:/data"
],
...
"Mounts": [
{
"Source": "/mnt/data",
"Destination": "/data",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
目录显示:
$ ls /mnt/data/
lost+found
检查卷目录不是已挂载的 EBS 的容器
"HostConfig": {
"Binds": [
"/home/ec2-user/data:/data"
],
...
"Mounts": [
{
"Source": "/home/ec2-user/data",
"Destination": "/data",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
]
目录显示:
$ ls /home/ec2-user/data
databases dbms
【问题讨论】:
-
我不知道您想要实现什么,但我更喜欢制作 EBS 快照,您可以根据需要安排它,如果发生任何事情,您已经准备好所有 vm以前做的,以后省了很多工作,而且可以把这个快照传到其他地区。
-
@FernandoZamperin 是的,我想为此 EBS 安排快照,但首先我需要容器正确使用它
-
共享卷的任务定义?
-
我认为问题不在于 ECS 本身。如果我运行任何 docker 容器来指定新安装的 EBS 的卷,它不会按预期工作。我设法让它在安装卷后重新启动 docker,但不幸的是它不是一个优雅的解决方案。
标签: linux docker containers amazon-ecs