我的 Docker-Compose.yml:
\n\nversion: "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\nRun Code Online (Sandbox Code Playgroud)\n\n如您所见,我有一个卷映射到主机上的目录:/home/msqql:/var/opt/mssql/
\n\n如果我做:docker stack deploy -c docker-compose.yml [stack name]。
服务器启动,我可以看到数据写入主机目录:/home/mssql/*。
然后,我连接到服务器并创建数据库、表并添加一些数据。
\n\n如果我随后使用 终止堆栈docker stack rm [stack name],或出于维护原因重新启动主机等。
当 SQL Server 再次启动时,尽管/home/mssql/*仍然包含服务器最初创建的文件,但如果我连接到服务器,数据库/表/数据就会消失。
当服务器以某种方式重新启动时,我是否必须重新附加数据库,或者我可能缺少其他内容?
\n\n谢谢
\n