Docker Containers可以重启之间的状态吗?

时间:2018-06-13 10:40:42

标签: sql-server entity-framework docker

容器应该能够维持状态吗? 我正在使用像这样的SQLServer Image。

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux:2017-latest

然后我使用dotnet ef。

在其中创建一个数据库
dotnet ef database update -v

数据库工作正常,直到我重新启动容器。此时我的数据库是gona,容器被重置为它的初始状态。

我错过了什么?容器不能保持状态吗? 如果是这样,将它们用于数据库的重点是什么?

1 个答案:

答案 0 :(得分:2)

是的,如果您不删除容器,他们可以

docker stop xxx

或只是重新启动机器而不是使用

docker start xxx

docker restart xxx

如果您使用docker run,则会创建一个新容器,因此之前没有可以谈论的状态。对于sql server,具体可以选择创建卷并在那里存储数据。如果你这样做,你可以删除一个容器并重新创建它而不会丢失数据,因为它不再存储在其中。