任务是将新员工上传到数据库中,这是可行的。但是,当我需要重新启动我运行的应用程序时sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=mypassword' -p 1433:1433 -d microsoft/mssql-server-linux
然后dotnet ef database update
这只剩下我的初始播种数据。如何获得数据持久性?
有两种解决方案。我不会为您提供完整的解决方案,但会提供更多或类似的建议。
-
第一次使用您提到的命令创建容器。
sudo docker run --name sql1 -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=mypassword' -p 1433:1433 -d microsoft/mssql-server-linux
像我提供的那样给它取个名字——name sql1。
所以当你停下来的时候,停止那个容器。
docker stop sql1
下次你需要的时候
docker start sql1
下一个解决方案是体积。您必须在主机或某个共享目录中创建卷,它需要与docker共享,这样它就会在那里存储数据,即使您销毁容器并再次创建它,它也会出现,然后它就会被附加。
https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-docker-container-configure?view=sql-服务器-服务器15&枢轴=cs1猛击