当需要更新时,docker中的mysql是如何在生产中使用的。例如,添加列或表等。有没有一种使用液化糖的方法?
zlwx9yxi1#
从技术上讲,您可以在docker容器中运行mysql,就像在vm上运行mysql一样。一旦部署到一个容器中,您就可以通过mysql客户机(或包括jdbc在内的任何客户机)运行任何mysql,只要您在一个可解析的地址上运行该容器并拥有正确的凭据。客户机不知道(或关心)您的mysql服务器正在容器中运行—客户机关心的只是主机、端口、数据库和用户/密码值。也就是说,您需要确保为您的容器装载一个卷,以便mysql数据可以“外部化”,并且不会因为运行 docker rm . 使用普通docker,您可以使用 -v 从docker主机vm或外部磁盘(如ebs或efs/nfs)装载voulme的选项。有了kubernetes,你可以使用 statefulset 用一个 persistentVolumeClaim 以确保您保存的存储无论发生什么事,您的容器。
docker rm
-v
statefulset
persistentVolumeClaim
nnsrf1az2#
docker上的mysql主要作为一个独立的mysql安装。小心为数据配置卷,否则在容器重新启动或终止时会丢失数据。也就是说,您可以使用任何mysql消费应用程序,因为您只需要公开端口,并配置crendentials。
2条答案
按热度按时间zlwx9yxi1#
从技术上讲,您可以在docker容器中运行mysql,就像在vm上运行mysql一样。一旦部署到一个容器中,您就可以通过mysql客户机(或包括jdbc在内的任何客户机)运行任何mysql,只要您在一个可解析的地址上运行该容器并拥有正确的凭据。客户机不知道(或关心)您的mysql服务器正在容器中运行—客户机关心的只是主机、端口、数据库和用户/密码值。
也就是说,您需要确保为您的容器装载一个卷,以便mysql数据可以“外部化”,并且不会因为运行
docker rm
. 使用普通docker,您可以使用-v
从docker主机vm或外部磁盘(如ebs或efs/nfs)装载voulme的选项。有了kubernetes,你可以使用statefulset
用一个persistentVolumeClaim
以确保您保存的存储无论发生什么事,您的容器。nnsrf1az2#
docker上的mysql主要作为一个独立的mysql安装。小心为数据配置卷,否则在容器重新启动或终止时会丢失数据。
也就是说,您可以使用任何mysql消费应用程序,因为您只需要公开端口,并配置crendentials。