AWS ECS mysql 数据库实例

Pra*_*ant 6 amazon-web-services docker

嘿,我想要一个关于在 AWS ECS 容器中使用 MySQL 数据库的设计答案。我没有像目前做一些 MVP 那样使用 RDS。是否可以将 Mysql DB 用作 docker 容器,如果是这样,那么我如何确保在部署此 DB 容器时保留生产数据。

请指导我了解这种情况。

blu*_*res 5

是的,完全有可能。

从头到尾解释它对于 SO 答案来说太过分了。AWS 有关于 ECS 的详尽文档,我建议从那里开始:http : //docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html

关于数据持久性的部分在这里:http : //docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html

卷和 ECS 需要记住的事情 - 命名卷用于在容器之间共享数据;托管卷用于在任意数量容器的生命周期之外持久保存数据。因此,您需要将底层 EC2 实例中的卷挂载到存储 MySQL 数据的容器中。

根据您选择的 MySQL 映像,容器数据目录可能会有所不同。任何值得一提的图像都会告诉你这个目录在 README 中的位置,因为这是数据库 + Docker 的一个非常常见的问题。


Ser*_*giu 1

对的,这是可能的。您所要做的就是找到一个 MYSQL 映像(例如官方映像),然后按照映像文档中的说明运行:

 docker run --name my-container-name -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql/mysql-server:tag

The -v /my/own/datadir:/var/lib/mysql part of the command mounts the /my/own/datadir directory from the underlying host system as /var/lib/mysql inside the container, where MySQL by default will write its data files.
Run Code Online (Sandbox Code Playgroud)