嘿,我想要一个关于在AWS ECS容器中使用MySQL数据库的设计答案。我现在没有使用RDS作为一些MVP。是否可以使用Mysql DB作为docker容器,如果是这样,那么在部署DB容器时如何确保prod数据持久化。
请指导我这个场景。
答案 0 :(得分:2)
是的,完全有可能。
从头到尾解释它对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映像,容器数据目录可能不同。任何值得它的图片都会告诉你这个目录在自述文件中的位置,因为这是数据库+ Docker的一个非常常见的问题。
答案 1 :(得分:1)
是的,这是可能的。您所要做的就是找到一个MYSQL图像,例如 official ,并按照您必须运行的图像文档中的说明进行操作:
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.