Я хотел бы запустить apache-ignite в докере, и я могу это сделать.
Но проблема в том, что всякий раз, когда я вращаю изображение и создаю таблицы в ignite, оно остается там до тех пор, пока работает этот контейнер. Если я перезагружаю контейнер или снова запускаю образ зажигания, я не получаю эти данные. Я знаю, что когда мы раскручиваем изображения, он всегда создает новый контейнер. В моем случае, если я хочу сохранить данные, мне нужно зафиксировать и протолкнуть контейнер, чтобы при следующем запуске я его получил.
Но есть ли способ, где я могу хранить данные воспламенения в хост-системе, и всякий раз, когда я запускаю образ, он будет считывать / записывать данные в этом месте (при кратком монтировании).
Может кто-нибудь поделится там опытом или мыслью с примером?
Спасибо.
Я использую это с docker-compose, ниже приведен мой файл docker-compose.yml.
version: "3.7"
services:
ignite:
image: apacheignite/ignite
environment:
- IGNITE_QUIET=false
volumes:
- "./ignite-main.xml:/opt/ignite/apache-ignite/config/default-config.xml"
ports:
- 11211:11211
- 47100:47100
- 47500:47500
- 49112:49112
Если я запускаю команду docker-compose up, я получаю следующую ошибку.
Recreating ignite-test_ignite_1 ... done
Attaching to ignite-test_ignite_1
ignite_1 | Ignite Command Line Startup, ver. 2.7.0#20181130-sha1:256ae401
ignite_1 | 2018 Copyright(C) Apache Software Foundation
ignite_1 |
ignite_1 | class org.apache.ignite.IgniteException: Failed to instantiate Spring XML application context [springUrl=file:/opt/ignite/apache-ignite/config/default-config.xml, err=Line 1 in XML document from URL [file:/opt/ignite/apache-ignite/config/default-config.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 31; cvc-elt.1: Cannot find the declaration of element 'property'.]