次のコンテナ定義を使用して、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から再度インストールするように求められます。
何が間違っているのですか?
私もホストボリュームを使おうとしましたが、無効にしました - bindマウントとdocker管理ボリュームを作成します(dockerがコンテナーを調べましたか?)。
そのため、タスクを更新するたびにWordpressがリセットされます。
回答:
回答№1は2あなたのコンテナがオリジナルへのアクセスを必要とするなら毎回データ 起動するには、コンテナが接続できるファイルシステムが必要です。 どのインスタンスで実行しているかに関係なく、それこそがEFSです 入って来る。
EFSを使用すると、データを永続的な共有ファイルシステムに永続化できます。 ECSクラスター内のすべてのECSコンテナーインスタンスが使用できます。
AWS ECSクラスターをセットアップするためのステップバイステップの説明
Amazon EFSを使用してAmazon ECSコンテナからのデータを永続化する