考虑:
docker run -it centos /bin/bash
Run Code Online (Sandbox Code Playgroud)
我按了Ctrl+ D退出它.
我想继续运行这个容器,但我发现我不能.
唯一的方法是
docker commit `docker ps -q -l` my_image
docker run -it my_image /bin/bash
Run Code Online (Sandbox Code Playgroud)
我对吗?有更好的方法吗?(我使用的是docker 0.8.0.)
容器应该能够保持状态吗?我正在使用这样的 SQLServer 映像。
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux:2017-latest
Run Code Online (Sandbox Code Playgroud)
然后我使用 dotnet ef 在其中创建一个数据库。
dotnet ef database update -v
Run Code Online (Sandbox Code Playgroud)
数据库工作正常,直到我重新启动容器。那时我的数据库是 gona 并且容器被重置为它的初始状态。
我错过了什么?容器不持久化状态吗?如果是这样,将它们用于数据库有什么意义?