【发布时间】:2021-05-18 11:14:59
【问题描述】:
我正在运行两个 docker 容器:
- docker-mysql-activity
- 活动服务
而且我可以确保数据的持久性,这要归功于数据量。
这是我的 docker-compose.yml
version: '3'
services:
docker-mysql-activity:
image: mysql:latest
container_name: docker-mysql-activity
volumes:
- mysql_activity:/var/lib/mysql
ports:
- 33061:3306
environment:
- MYSQL_ROOT_PASSWORD=admin123
- MYSQL_DATABASE=SCactivity
- MYSQL_USER=testuser
- MYSQL_PASSWORD=testuser@123
activity-service:
image: activity-service:latest
container_name: activity-service
environment:
- SPRING_APPLICATION_NAME=activity-service
hostname: activity-service
build:
context: ./activity-service
dockerfile: Dockerfile
ports:
- 9001:9001
depends_on:
- service-registry
- docker-mysql-activity
volumes:
mysql_activity:
当我执行 docke-compose up 一切顺利并创建卷时,我已经验证查看 Docker 的卷文件夹并正确保存数据(所有验证都通过邮递员 - GET 和 POST数据正常工作)。
当我尝试 docker-compose down 或 docker-compose stop 然后再次 docker-compose up 时出现问题,数据不再坚持下去。
我确定问题与 docker-compose down 无关,因为卷仍然存在,而是在我执行命令 docker-compose 时重置卷内的数据向上。
【问题讨论】:
-
如果撰写文件中不包含“活动服务”,是否会发生这种情况?您能否提供一个不依赖于我们在问题中没有的命令和文件的minimal reproducible example?
-
@BMitch 如果撰写文件中不包含“活动服务”,则不会发生。似乎该服务覆盖了数据库,但是在活动服务的 .yml 文件中我有这个:jdbc:mysql://docker-mysql-activity:3306/SCactivity?createDatabaseIfNotExist=true。
标签: mysql docker docker-compose microservices persistent-volumes