Исследования показали, что анонимные тома были созданы
docker-compose
and
VOLUME ["/logs", "/data"]
.
Анонимным томам не присваивается явное имя при первом запуске.
VOLUME = ["/logs", "/data"]
монтируются в контейнер, поэтому Docker дает им случайное имя, которое
Dockerfile
=
and subsequenlty -v /srv/lib/grafana:/var/lib/grafana
гарантированно будет уникальным в пределах данного хоста Docker. Помимо имени,
--mount
именованные и анонимные тома ведут себя одинаково. -v
?
VOLUME
Результаты
Dockerfile
приводит к: sudo ls /var/lib/docker/volumes/34cfafd4603dbc7e71a83e2520f978c8307b084143b3192de65a1995dc1d2f86/_data
grafana.db plugins
docker image. Let's replace influxdb with nginx and revert the grafana to nginx:
sudo ls /var/lib/docker/volumes/a0ecd00df8fc68ef36e777c7bf9ec5a496ee30e313b86889487501a53fa2e28e/_data
grafana.ini ldap.toml
и каждый раз, когда
количество анонимных томов удваивается.
Что будет, если вместо influxdb и графаны подтянуть nginx?
и после Похоже, что некоторые изображения создали дополнительные анонимные тома. Давайте заменим influxdb на nginx и воспользуемся графаной.
docker volume inspect <volume name, e.g. 34cfafd4603dbc7e71a83e2520f978c8307b084143b3192de65a1995dc1d2f86>
https://docs.docker.com/engine/reference/builder/#volume
FROM ubuntu
RUN mkdir /myvol
RUN echo "hello world" > /myvol/greeting
VOLUME /myvol
Каждый раз при повторном запуске Docker Compose создавались три анонимных тома.
VOLUME ["/var/lib/grafana", "/var/log/grafana", "/etc/grafana"]
returned grafana data when the path that was returned was checked of two out of three anonymous volumes:
DRIVER VOLUME NAME
local devopsstackexchange_grafana-data
local devopsstackexchange_influxdb-data
и останется два, если перезапустить.
grafana/grafana
||answer||
Похоже, проблема в графане. DRIVER VOLUME NAME
local 15b80416ab06abb629d9f634a0feff08f7c560f31d614b9b430855c16cdb75c7
local 205a6f19cbf992c95b2e3be9f2fb1ca9ecec35fce550d0b7a4b9f32b0ef163b1
local 474108f5b7b14fba92a3e5a980f3bf851388b2ee25d7417df5c42d9f176e084b
local 5830a31a470ec8a42ddae7a37bb50487f3f36360318b2f9f5301b338507782b4
local 9f00868a2fec0cfc0d34dc12d0879d39487a13128863722f400ad4c47df2d340
local devopsstackexchange_grafana-data
local devopsstackexchange_influxdb-data
local f47b1b7bbec8e50b32a7c39704c7c218165b284298d852313fa24bc7cbe6acc5
with the DRIVER VOLUME NAME
local devopsstackexchange_grafana-data
local devopsstackexchange_influxdb-data
Почему при каждом перезапуске Grafana/Grapana создаются три новых анонимных тома?
Докер-файл grafana/grafana docker-compose down && docker-compose up -d
or DRIVER VOLUME NAME
local devopsstackexchange_grafana-data
local devopsstackexchange_influxdb-data
указывает, что будут созданы три анонимных тома: https://docs.docker.com/engine/admin/volumes/volumes/#choose-the--v-or-mount-flag
Этот Dockerfile приводит к созданию образа, который вызывает запуск Docker, чтобы создать
up
||answer||
docker-compose down
in your DRIVER VOLUME NAME
local 604a07040367512b09c618c6dcc71a7f55390c9c23de6ab08be7466414ed62da
local 7f4b630073b31b6e772d3edef6da81b48643525edfc34281ea13fbd6b86ec270
local devopsstackexchange_grafana-data
local devopsstackexchange_influxdb-data
новую точку монтирования в /myvol и скопируйте файл приветствия в новый
version: "3"
services:
influxdb:
image: influxdb:latest
container_name: influxdb
ports:
- "8086:8086"
#env_file:
# - 'env.influxdb'
networks:
- backend
volumes:
- influxdb-data:/var/lib/influxdb
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000"
#env_file:
# - 'env.grafana'
# - 'secrets.grafana'
networks:
- backend
volumes:
- grafana-data:/var/lib/grafana
networks:
backend:
volumes:
influxdb-data:
grafana-data:
grafana/grafana
созданный объем. influxdb