关于在 ASP.NET Core 和 Docker 中持久化数据的初学者问题
Posted
技术标签:
【中文标题】关于在 ASP.NET Core 和 Docker 中持久化数据的初学者问题【英文标题】:Beginner question about persisting data in ASP.NET Core and Docker 【发布时间】:2021-06-28 16:56:40 【问题描述】:任务是将新员工上传到数据库,这很有效。但是,当我需要重新启动我运行的应用程序时
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
下一个解决方案是音量。您必须在主机或某个共享目录中创建卷,并且它需要与 docker 共享,因此它将在那里存储数据,即使您销毁容器并再次创建它,它也会出现,然后它会被附加。
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-docker-container-configure?view=sql-server-ver15&pivots=cs1-bash
【讨论】:
以上是关于关于在 ASP.NET Core 和 Docker 中持久化数据的初学者问题的主要内容,如果未能解决你的问题,请参考以下文章