当前位置: 首页 > 知识库问答 >
问题:

Docker容器可以在重启之间保持状态吗?

贡威
2023-03-14

容器应该能够保持状态吗?我使用的是这样的SQLServer映像。

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个答案

宋伟泽
2023-03-14

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

docker stop xxx

或者只是简单地重启你的机器,然后使用

docker start xxx

docker restart xxx

如果使用docker run,则会创建一个新容器,这样就没有以前的状态可供讨论。特别是对于sql server,有一个创建卷并在其中存储数据的选项。如果这样做,您可以删除一个容器并重新创建它,而不会丢失数据,因为它不再存储在容器中。

 类似资料:
  • 尽管我已经编写单元测试20多年了,但我对Gherkin还是新手,并且还被赋予了为一个。feature文件实现故事的任务,该文件可以简化为以下内容: 也就是说,一个很长很长的场景链,每个场景都依赖于由其前身配置的系统状态。 我在JavaScript中运行Cucumber。

  • 问题内容: 我试图了解Docker的来龙去脉,但我对保存映像的前景感到困惑。 我运行了基本的Ubuntu映像,安装了Anaconda Python和其他一些东西…那么,保存进度的最佳方法是什么?保存,提交,导出? 这些似乎都无法与VirtualBox一样工作,后者为您的虚拟机提供了一个明显的保存状态文件。 问题答案: 通常的方法至少是通过:将容器的状态冻结为新映像。 注:由于评论由anchovyl

  • 问题内容: 我在一个具有不同进程的应用程序上工作,并被要求包含那些进程以实现更多隔离。 问题在于,进程与单个“管理程序”进程共享内存以便交换数据(它们使用经典的共享缓冲区)。该解决方案是为满足性能要求而实施的,因为它在用户空间中运行,因此在用户空间和内核空间之间没有内容切换。 如果我没看错,则不可能在单个IPC名称空间内运行多个docker容器,但是我不知道单个docker容器是否可能属于不同的I

  • HTTP协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态 客户端与服务器端的一次通信,就是一次会话 实现状态保持的方式:在客户端或服务器端存储与会话有关的数据 存储方式包括cookie、session,会话一般指session对象 使用cookie,所有数据存储在客户端,注意不要存储敏感信息 推荐使用sesison方式,所有数据存储在服务器端,在客户端cookie中存储sessio

  • 问题内容: 我使用password.js在我的nodejs + express.js应用程序上处理身份验证。我设置了一个LocalStrategy以从mongodb吸引用户 我的问题是, 当我重新启动节点服务器时 , 用户必须重新进行身份验证 。这是一个问题,因为我正在积极开发它,并且不想在每次重新启动时都登录…(+我使用节点管理器) 这是我的应用设置: 和会话序列化设置: 我尝试使用connec