关于在ASP.NET Core和Docker中持久化数据的入门问题



任务是将新员工上传到数据库中,这是可行的。但是,当我需要重新启动我运行的应用程序时sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=mypassword' -p 1433:1433 -d microsoft/mssql-server-linux然后dotnet ef database update这只剩下我的初始播种数据。如何获得数据持久性?

有两种解决方案。我不会为您提供完整的解决方案,但会提供更多或类似的建议。

  1. 第一次使用您提到的命令创建容器。

    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
  1. 下一个解决方案是体积。您必须在主机或某个共享目录中创建卷,它需要与docker共享,这样它就会在那里存储数据,即使您销毁容器并再次创建它,它也会出现,然后它就会被附加。

    https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-docker-container-configure?view=sql-服务器-服务器15&枢轴=cs1猛击

最新更新