sql-server - Docker-Compose SQL Server 数据库在主机重启后持久化数据
问题描述
我的 Docker-Compose.yml:
version: "3"
services:
db:
image: microsoft/mssql-server-linux:2017-CU8
ports:
- 1433:1433
deploy:
mode: replicated
replicas: 1
environment:
- ACCEPT_EULA=Y
- MSSQL_SA_PASSWORD=SuperStrongSqlAdminPassword)(*£)($£)
volumes:
- /home/mssql/:/var/opt/mssql/
- /var/opt/mssql/data
如您所见,我有一个卷映射到主机上的目录:/home/mssql:/var/opt/mssql/
如果我这样做:docker stack deploy -c docker-compose.yml [stack name]
。
服务器启动,我可以看到数据已写入主机目录:/home/mssql/*
.
然后我连接到服务器并创建一个数据库、表并添加一些数据。
如果我然后使用 杀死堆栈docker stack rm [stack name]
,或者出于维护原因重新启动主机等。
当 SQL Server 再次启动时,虽然它/home/mssql/*
仍然包含服务器最初创建的文件,但如果我连接到服务器,数据库/表/数据就消失了。
当服务器以某种方式重新启动时,我是否必须重新附加数据库,或者我可能缺少其他东西?
谢谢