LINUX.ORG.RU

Сообщения bigmike4339

 

Docker при создании именованного тома создаёт и использует свой.

Добрый день!

Создаю контейнер с mysql. Для этого использую вот такой файл docker-compose.yml:

version: '3.4'

services:
  db:
    image: mysql/mysql-server
    restart: always
    env_file: '.env'
    volumes:
      - mysql-data:/var/lib/mysq

volumes:
  mysql-data:
    external: true
    name: mysql-data

Создаю хранилище и проверяю:

docker volume create --name=mysql-data
docker volume ls
DRIVER              VOLUME NAME
local               mysql-data

Всё нормально. Запускаю:

docker-compose -f docker-compose.yml up

Всё стартует нормально и...

docker volume ls
DRIVER              VOLUME NAME
local               16864e5cc4cb7157263d746ce0b07a4aee31f89c5af47a3bdb7f83d1571f7066
local               mysql-data

...появляется ещё одно хранилище. Заглядываю в него и вижу, что там лежат файлы БД mysql. А в том хранилище, которое создал я ничего нет.

Попробовал с двумя контейнерами с хабдокера (mysql и mysql/mysql-server) - поведение одинаковое.

docker --version
Docker version 17.12.0-ce, build c97c6d6

docker-compose --version
docker-compose version 1.18.0, build 8dd22a9

Пробовал и вариант с автоматическим созданием хранилища:

version: '3.4'

services:
  db:
    image: mysql
    restart: always
    env_file: '.env'
    volumes:
      - mysql-data:/var/lib/mysq

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

volumes:
  mysql-data:

В этом случае создаётся хранилище mysql_mysql-data и ещё одно с длинным именем (4cb7157263d746ce0b...). И все данные в этой длинноимённой папке.

В чём ошибка, что делаю не так?

 

bigmike4339
()

RSS подписка на новые темы