Azure SQL Edge 不会将数据保存到 Docker 卷

问题描述 投票:0回答:1

我在将数据库数据保存到 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 重新运行容器时,它都会在映射卷中创建新文件夹,而不是使用旧文件夹并将数据存储在那里。

enter image description here

即使容器被废弃,我是否有机会保留数据并重用它?是否可以配置 Azure SQL 容器,以便重用以前创建的目录而不是创建新目录?

我测试了独立容器,但结果是相同的。

我还注意到,如果我停止容器而不是处理它们并重新运行它们 - 数据将被保留。

UPD

看起来这是一个已知问题。 dockerhub 页面上提到了这一点: “在 Mac 版 Docker 上无法安装卷”

docker docker-compose azure-sql-database
1个回答
1
投票

不确定在 Mac 上使用卷的已知问题有多久了,但我能够做到。

volumes:
  - azure-sql-storage:/var/opt/mssql

这里得到它。

© www.soinside.com 2019 - 2024. All rights reserved.