Do najnowszej wersji Docker (v1.10) uważano, że możemy używać DOC: kontenerów tylko do danych. Tak więc utworzyłbym taki DOC (oparty na np. Busybox) i użyłbym --volumes-from
, by połączyć go z moim kontenerem. Nadal możesz przeczytać o tym w Docker documentation.Docker o nazwie volume vs DOC (data-only-containers)
Z nową wersją dockera, mówi się, że zamiast DOC powinniśmy użyć named volumes
. Oto przykład z docker-compose.yml
:
version: '2'
services:
elasticsearch:
image: elasticsearch:2.2.0
command: elasticsearch -Des.network.host=0.0.0.0
ports:
- "9201:9200"
volumes:
- "es-data:/usr/share/elasticsearch/data"
volumes:
es-data:
tutaj stworzyliśmy i wykorzystanie nazwie objętość es-data
.
Nie ma zbyt wiele dokumentacji na temat tej nowej funkcji. Pytam:
- Czy możemy zastąpić DOC nazwanymi pojemnikami? Jak długo utrzymuje się wolumen? Co się stanie, jeśli usunę kontener, który z niego korzysta?
- Jak możemy np. kopia zapasowa teraz? Wcześniej mogłem
docker run --rm --volumes-from es-data ...
, a następnietar
go.
"Czy możemy zastąpić ..."? - patrz https://github.com/docker/docker/issues/17798#issuecomment-154815207 – amartynov
FYI "na podstawie np. busybox" - jest uważany za błędny, sprawdź [szaleństwo kontenera tylko do danych] (http://container42.com/2014/11/18/data-only-container-madness /) – amartynov