我在将数据库数据保存到 docker 卷时遇到问题。
我有一个带有 azure SQL Edge 容器的 docker compose。这是容器的配置:
services:
azure-sql:
image: "mcr.microsoft.com/azure-sql-edge"
hostname: "azure-sql"
environment:
ACCEPT_EULA: 1
MSSQL_SA_PASSWORD: ":8jNZdK7cK"
MSSQL_USER: "SA"
MSSQL_PID: "Developer"
volumes:
- azure-sql-storage:/var/opt/mssql-extensibility/data
- azure-sql-storage:/var/opt/mssql-extensibility/log
- azure-sql-storage:/var/opt/mssql-extensibility
ports:
- "1433:1433"
volumes:
azure-sql-storage:
external: true
我注意到,每次 azure SQL 重新运行容器时,它都会在映射卷中创建新文件夹,而不是使用旧文件夹并将数据存储在那里。
即使容器被废弃,我是否有机会保留数据并重用它?是否可以配置 Azure SQL 容器,以便重用以前创建的目录而不是创建新目录?
我测试了独立容器,但结果是相同的。
我还注意到,如果我停止容器而不是处理它们并重新运行它们 - 数据将被保留。
UPD
看起来这是一个已知问题。 dockerhub 页面上提到了这一点: “在 Mac 版 Docker 上无法安装卷”