Может ли Docker Containers сохранять состояние между перезапусками? - PullRequest
0 голосов
/ 13 июня 2018

Должны ли контейнеры поддерживать состояние?Я использую образ 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 Ответ

0 голосов
/ 13 июня 2018

Да, они могут, если вы не удалите контейнер, поэтому вы можете

docker stop xxx

или просто перезагрузить компьютер и затем использовать

docker start xxx

или

docker restart xxx

если вы используете docker run, вы создаете новый контейнер, поэтому нет предыдущего состояния, о котором можно было бы говорить.Для сервера sql есть возможность создать том и хранить там данные.Если вы сделаете это, вы можете удалить контейнер и воссоздать его снова без потери данных, поскольку он больше не хранится внутри него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...