SQL Server容器挂载卷后停止仍丢失数据的问题求助
MSSQL Docker容器重启后数据丢失的解决办法
核心问题:你挂载卷的目标路径错误。MSSQL Server Docker镜像默认的数据存储目录是
/var/opt/mssql,而你挂载到了/data/db(这是MongoDB的默认存储路径),导致实际数据库数据并没有写入到sqlData命名卷中,每次用--rm重启容器后,新容器会初始化全新的MSSQL环境,所以需要重新创建数据库。修正后的Docker运行命令:
docker run -d --rm --name mssqlserver -p 1433:1433 -e "ACCEPT_EULA=Y" -e MSSQL_SA_PASSWORD=********** -v sqlData:/var/opt/mssql mcr.microsoft.com/mssql/server关于
--rm参数的说明(官方文档翻译):--rm参数会在容器退出时自动清理容器的临时文件系统,但不会删除已创建的命名卷或挂载的主机目录。
内容的提问来源于stack exchange,提问作者mgh
相关产品推荐
相关产品推荐

