我的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 / msqql:/ var / opt / mssql /
如果我这样做:docker stack deploy -c docker-compose.yml [stack name]
。
服务器启动,我可以看到数据已写入主机目录:/home/mssql/*
。
然后我连接到服务器并创建数据库,表并添加一些数据。
如果我随后使用docker stack rm [stack name]
杀死堆栈,或出于维护原因等重启主机。
当SQL Server再次启动时,尽管/home/mssql/*
仍然包含服务器最初创建的文件,但是如果我连接到服务器,数据库/表/数据就消失了。
当服务器以某种方式重新启动时,是否必须重新附加数据库,或者我可能丢失了其他内容?
谢谢