我使用以下容器定义
在AWS ECS上为wordpress创建了一项服务{
"containerDefinitions": [
{
"name": "wordpress",
"links": [
"mysql"
],
"image": "wordpress",
"essential": true,
"portMappings": [
{
"containerPort": 0,
"hostPort": 80
}
],
"memory": 250,
"cpu": 10
},
{
"environment": [
{
"name": "MYSQL_ROOT_PASSWORD",
"value": "password"
}
],
"name": "mysql",
"image": "mysql",
"cpu": 10,
"memory": 250,
"essential": true
}
],
"family": "wordpress"
}
然后转到公共IP并完成Wordpress安装。我还添加了一些帖子。
但是现在,当我更新服务以使用更新的任务定义(更新的mysql容器映像)
时"image": "mysql:latest"
我放弃了创建的所有帖子,数据和Wordpress提示我再次安装。
我做错了什么?
我也尝试使用主机卷但没有vail - 创建了一个绑定装载和一个docker托管卷(Docker检查了容器)。
因此,每次更新任务时,它都会重置Wordpress。
答案 0 :(得分:3)
如果您的容器每次都需要访问原始数据 启动时,您需要一个容器可以连接的文件系统 无论他们在哪个实例上运行。这就是EFS 进来了。
EFS允许您将数据持久保存到持久的共享文件系统中 ECS集群中的所有ECS容器实例都可以使用。