Docker-Compose SQL Server数据库在主机重启后保留数据

Ele*_*ent 6 sql-server docker-compose

我的 Docker-Compose.yml:

\n\n
version: "3"\nservices:\n db:\n  image: microsoft/mssql-server-linux:2017-CU8\n  ports: \n    - 1433:1433\n  deploy:\n    mode: replicated\n    replicas: 1 \n  environment:\n    - ACCEPT_EULA=Y\n    - MSSQL_SA_PASSWORD=SuperStrongSqlAdminPassword)(*\xc2\xa3)($\xc2\xa3)\n  volumes:\n    - /home/mssql/:/var/opt/mssql/\n    - /var/opt/mssql/data\n
Run Code Online (Sandbox Code Playgroud)\n\n

如您所见,我有一个卷映射到主机上的目录:/home/msqql:/var/opt/mssql/

\n\n

如果我做:docker stack deploy -c docker-compose.yml [stack name]

\n\n

服务器启动,我可以看到数据写入主机目录:/home/mssql/*

\n\n

然后,我连接到服务器并创建数据库、表并添加一些数据。

\n\n

如果我随后使用 终止堆栈docker stack rm [stack name],或出于维护原因重新启动主机等。

\n\n

当 SQL Server 再次启动时,尽管/home/mssql/*仍然包含服务器最初创建的文件,但如果我连接到服务器,数据库/表/数据就会消失。

\n\n

当服务器以某种方式重新启动时,我是否必须重新附加数据库,或者我可能缺少其他内容?

\n\n

谢谢

\n