Я использую Rancher
как инструмент оркестровки. У меня есть единственный узел Cassandra
, установленный в контейнере, и он хотел бы его перезапустить, так как я недавно внес некоторые изменения в файл конфигурации (cassandra.yaml
). В базе данных уже есть данные, поэтому хотелось бы предотвратить потерю данных. Я использую изображение usman/docker-rancher-cassandra:3.1
. Какую команду следует использовать для этого?Перезагрузка контейнера докера без потери данных
ответ
Перезапуск контейнера не повлияет на ваши данные в контейнере. Если вы пытаетесь воссоздать контейнер с новым изображением, вы можете потерять данные.
Если вы используете тома, ваши данные будут сохраняться на хосте. Это зависит от того, как вы начали свой контейнер. Вы можете проверить информацию об объеме от docker inspect <container_name>
.
Переходя через dockerfile который вы используете, каталог данных cassandra является томом.
VOLUME /var/lib/cassandra
Если вы явно смонтировали объем контейнера с помощью
docker run -d -v <HOST_PATH>:/var/lib/cassandra usman/docker-rancher-cassandra:3.1
Затем вы можете обновить контейнер с новой версией. В противном случае вам нужно скопировать данные из каталога перед повторным созданием контейнера.
SOUTION 1:
Start другой контейнер из объемов существующего контейнера.
docker stop cassandra
docker run -it --volumes-from cassandra \
--name="cassandra-new" \
usman/docker-rancher-cassandra:3.1
Если все работает нормально, удалите предыдущий контейнер и переименовать контейнер
docker rm cassandra
docker rename cassandra-new cassandra
РЕШЕНИЕ 2:
Вы можете скопировать данные из /var/lib/docker/volumes/531419fb27d1dff9c5371769edc08d6160f71061c9fe3af05309a3a0c51bb84d/_data
некоторых другой каталог перед повторным созданием контейнера. Вам нужно установить этот каталог при запуске нового контейнера с помощью
docker run -v <HOST_PATH>:/var/lib/cassandra
- 1. Настройка контейнера-докера-контейнера
- 2. Перезагрузка формы без потери значений переменных
- 3. Перезагрузка без потери фильтров/asp-javascript
- 4. Восстановление до контейнера-докера-контейнера neo4j
- 5. Перезагрузка родительской страницы shadowbox iframe без потери данных POST
- 6. Запуск контейнера докера без файла докеров
- 7. Изображение отсканированного докера без вращения контейнера
- 8. Тайна перезагружаемого контейнера-докера
- 9. Печать контейнера DIV без потери стилей CSS
- 10. Наружные порты контейнера-докера
- 11. Дженкинс внутри контейнера-докера
- 12. Остановка контейнера докера изнутри
- 13. debootstrap внутри контейнера докера
- 14. portforwarding изнутри контейнера докера
- 15. Докер внутри контейнера докера
- 16. I2C внутри контейнера докера
- 17. Фиксация завершенного контейнера-докера
- 18. Ошибка запуска контейнера-докера
- 19. Выполнение команды докера из контейнера-докера
- 20. Запуск контейнера докера в другом контейнере докера?
- 21. ElasticBeanstalk: хранение пуленепробиваемого контейнера-докера
- 22. Navigate без потери данных
- 23. Расшифровать без потери данных
- 24. Данные порта из контейнера-докера
- 25. Как экстернализировать файл контейнера докера
- 26. Запустите HBase внутри контейнера докера
- 27. Получить идентификатор контейнера докера от имени контейнера
- 28. Перезагрузка контейнера с задержкой
- 29. в команде внутри контейнера докера
- 30. Запуск Xephyr внутри контейнера-докера
Есть ли способ, чтобы экспортировать данные из контейнера и после импорта перезапустить его? Я не установил его явно. – plaidshirt
@KovacsAkos, Обновленный ответ для восстановления ваших данных из контейнера. – Gangaraju