在 ECS Fargate 1.4.0 中将文件夹从一个容器共享到另一个容器
Share folder from one container to another within ECS Fargate 1.4.0
我有一个 Nginx 和一个 WordPress(php-fpm) 容器在平台 1.3.0 上的 ECS Fargate 任务 运行 中声明(或标记为最新的)。
我正在尝试切换到平台 1.4.0 以支持 EFS 卷。
我希望 Nginx 容器直接从 WordPress 容器提供静态资产。在 1.3.0 上,我只是在容器之间绑定卷,一切正常。 WP容器上/var/www/html
的文件映射到Nginx容器上的/var/www/html/。
[
{
"name": "wordpress",
"image": "....",
...
"mountPoints": [
{
"readOnly": false,
"sourceVolume": "asset-volume",
"containerPath": "/var/www/html"
}
]
},
{
"name": "nginx",
"image": "....",
...
"mountPoints": [
{
"sourceVolume": "asset-volume",
"containerPath": "/var/www/html",
"readOnly": true
}
]
}
]
volume {
name = "asset-volume"
host_path = null
}
但是,在 1.4.0 上,它没有将文件夹从 WordPress 映射到 Nginx,而是在主机上创建了一个空卷并将其映射到两个容器上的 /var/www/html
,从而删除了 [=12 的所有内容=] 在 WordPress 容器上。
最近几天我一直在研究这个问题;一种解决方案是将代码保存到 /var/www/code
,然后在容器运行时将其复制到 /var/www/html
,但这似乎是一个非常糟糕的解决方法。我想知道是否有人设法在 Fargate 1.4.0 上将数据从一个容器共享到另一个容器,以及他们是如何实现的。
谢谢
我有类似的问题。还在 Github 上找到了关于此主题的对话:
https://github.com/aws/containers-roadmap/issues/863
tl;dr; 添加 VOLUME /var/www/html
到你的 wordpress dockerfile,删除 wordpress 容器定义 mountPoints
部分并在 nginx 容器定义中替换 mountPoints
与 volumesFrom
.
像这样:
"volumesFrom": [
{
"sourceContainer": "wordpress",
"readOnly": true
}
]
请在 GitHub 上关注此对话:
https://github.com/USACE/instrumentation/issues/88
确保 wordpress 和 nginx 的 dockerfile 都包含以下指令:
音量 [ "/var/www/html" ]
我有一个 Nginx 和一个 WordPress(php-fpm) 容器在平台 1.3.0 上的 ECS Fargate 任务 运行 中声明(或标记为最新的)。
我正在尝试切换到平台 1.4.0 以支持 EFS 卷。
我希望 Nginx 容器直接从 WordPress 容器提供静态资产。在 1.3.0 上,我只是在容器之间绑定卷,一切正常。 WP容器上/var/www/html
的文件映射到Nginx容器上的/var/www/html/。
[
{
"name": "wordpress",
"image": "....",
...
"mountPoints": [
{
"readOnly": false,
"sourceVolume": "asset-volume",
"containerPath": "/var/www/html"
}
]
},
{
"name": "nginx",
"image": "....",
...
"mountPoints": [
{
"sourceVolume": "asset-volume",
"containerPath": "/var/www/html",
"readOnly": true
}
]
}
]
volume {
name = "asset-volume"
host_path = null
}
但是,在 1.4.0 上,它没有将文件夹从 WordPress 映射到 Nginx,而是在主机上创建了一个空卷并将其映射到两个容器上的 /var/www/html
,从而删除了 [=12 的所有内容=] 在 WordPress 容器上。
最近几天我一直在研究这个问题;一种解决方案是将代码保存到 /var/www/code
,然后在容器运行时将其复制到 /var/www/html
,但这似乎是一个非常糟糕的解决方法。我想知道是否有人设法在 Fargate 1.4.0 上将数据从一个容器共享到另一个容器,以及他们是如何实现的。
谢谢
我有类似的问题。还在 Github 上找到了关于此主题的对话: https://github.com/aws/containers-roadmap/issues/863
tl;dr; 添加 VOLUME /var/www/html
到你的 wordpress dockerfile,删除 wordpress 容器定义 mountPoints
部分并在 nginx 容器定义中替换 mountPoints
与 volumesFrom
.
像这样:
"volumesFrom": [
{
"sourceContainer": "wordpress",
"readOnly": true
}
]
请在 GitHub 上关注此对话:
https://github.com/USACE/instrumentation/issues/88
确保 wordpress 和 nginx 的 dockerfile 都包含以下指令:
音量 [ "/var/www/html" ]