Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何使用docker compose和数据库服务处理连续部署?_Mysql_Docker Compose_Continuous Deployment_Circleci - Fatal编程技术网

Mysql 如何使用docker compose和数据库服务处理连续部署?

Mysql 如何使用docker compose和数据库服务处理连续部署?,mysql,docker-compose,continuous-deployment,circleci,Mysql,Docker Compose,Continuous Deployment,Circleci,我在弄清楚如何处理数据库服务上的部署更改时遇到了一点困难。现在,这很简单: docker-compose up -d 如果配置发生更改,它将重建容器。这对于我的web服务节点来说不是问题,因为它没有任何类型的状态。我几乎可以删除所有内容,然后将其重新带回来,不会丢失任何内容 我的数据库服务不断地注册新数据,这显然很重要,所以我不能就这样放弃它。据我所知,每次构建映像时,卷都是不同的。因此,每次重建服务时,我都会丢失所有数据 我应该如何处理方案变更?或者我应该手动更新服务吗?您可以向容器中添加数

我在弄清楚如何处理数据库服务上的部署更改时遇到了一点困难。现在,这很简单:

docker-compose up -d
如果配置发生更改,它将重建容器。这对于我的web服务节点来说不是问题,因为它没有任何类型的状态。我几乎可以删除所有内容,然后将其重新带回来,不会丢失任何内容

我的数据库服务不断地注册新数据,这显然很重要,所以我不能就这样放弃它。据我所知,每次构建映像时,卷都是不同的。因此,每次重建服务时,我都会丢失所有数据


我应该如何处理方案变更?或者我应该手动更新服务吗?

您可以向容器中添加数据卷。在这种情况下,您可以在docker-compose.yml中添加卷属性,如下所示:

volumes:
  - /opt/mysql/data:/var/lib/mysql

然后,数据将被存储在主机上的/opt/mysql/data中

我不会将数据库服务器容器化。请参阅,这也是服务卷密钥的一部分,对吗?我仍然不知道如何应对方案的变化。