Почему Безымянные Тома Создаются При Запуске Docker-Compose Up И Удваиваются После Выполнения Docker-Compose Down && Docker-Compose Up?

  • Автор темы Sewemtert
  • Обновлено
  • 22, Oct 2024
  • #1

При запуске приложения Docker Compose оно создает именованный том в первый раз, а затем дополнительные тома при каждом запуске. Это нормальное поведение, поскольку оно создает дополнительные тома, или мой файл docker-compose сломан? Кроме того, после запуска

 
 
 docker-compose up -d && docker-compose down && docker-compose up -d && docker-compose down && docker-compose up -d && docker-compose down
 
, it removed two of the unnamed volumes

Это результат после двойного запуска:

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:

И для справки мой файл для создания докеров

DRIVER VOLUME NAME local 2b33c81e6e955ff36061f4120b7181c7efc7aebded2f87eaa7290027f1e7a725 local 74301eadc75018d6f7da76aec44bcf743e03261492cfcc33211941684a570030 local c42b1e2c17342c52b4b9e90f4d4b7fa24ccb30de5479e65cf4366e2373dfb0bf local dcfa63dbf99362fc92fe3b981f50abebfe1bba03063d4dd9dd790f4c058817cf local dockerinfluxdbgrafana_grafana-data local dockerinfluxdbgrafana_influxdb-data

Шаги по воспроизведению

docker volume prune

#docker #docker-compose

Sewemtert


Рег
25 Sep, 2014

Тем
70

Постов
211

Баллов
621
  • 25, Oct 2024
  • #2

Исследования показали, что анонимные тома были созданы

 
 
 
 
 
 
 
 
 
 
 
 
 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

 

Codreanu.mihai


Рег
10 Nov, 2019

Тем
101

Постов
214

Баллов
779
Похожие темы Дата
Похожие темы
Kubectl — Weavenet Для Kubernetes Показывает 0/2
Как Обновить Вложенные Массивы В Базе Данных Mongodb
Контрольный Список Для Мониторинга. Какие Вещи Мне Следует Отслеживать?
Как Подключить Балансировщик Нагрузки Gcp К Кластеру Kubernetes (Кластер С Одним Узлом)
Непрерывная Интеграция — Включение Линтера Python (Flake8) В Конвейер Ci/Cd, Использующего Github, Действия Github В Базу Кода, Которая Не Соответствует Требованиям.
Развертывание. Является Ли Поток Gitlab (Или Поток Github И Т. Д.) Анти-Развертыванием Повсюду?
Веб-Службы Amazon. Как Исправить Неправильный Файл /Etc/Resolv.conf В Модулях Kubernetes После Создания Кластера С Помощью Eks Eksctl С Плагином Vpc-Cni?
Kubernetes — Столон Против Crunchydata Для Ha Postgresql
Веб-Сервисы Amazon. Существует Ли Установленная Метрика Для Описания Оптимальных/Необходимых Ресурсов Для Конкретной Вычислительной Задачи?
Как Загрузить Артефакты Github Из Конвейера Выпуска Azure Devops?
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно