Docker создает MySQL-тома, неверная неверная спецификация - PullRequest
0 голосов
/ 17 марта 2019

Я использую службу 3 и ниже - это мой код,

Я пытался добавить переменную COMPOSE_CONVERT_WINDOWS_PATHS: 1 в среде

, она все еще получает ошибку:

ОШИБКА: для db-on-docker-ms_mysql-dev_1 Невозможно создать контейнер для службы mysql-dev: неверная спецификация тома: '/ c / Dockerfile / db-on-docker-ms: / var / lib / mysql для томов: rw'

version: '3'
services:
  mysql-dev:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: blogapp
  ports:
    - "3308:3306"
  volumes:
    - /c/Dockerfile/db-on-docker-ms:/var/lib/mysql

My Docker Версия: 18.09.2

Ответы [ 2 ]

1 голос
/ 17 марта 2019

Я думаю, вам нужно либо установить COMPOSE_CONVERT_WINDOWS_PATHS переменную среды из командной строки

$ export COMPOSE_CONVERT_WINDOWS_PATHS=1

Затем изменить volumes конфигурацию

version: '3'
services:
  mysql-dev:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: blogapp
  ports:
    - "3308:3306"
  volumes:
    - c:\Dockerfile\db-on-docker-ms:/var/lib/mysql

Запустить Docker compose

$ docker-compose up

Или вы можете попытаться установить volumes следующим образом

version: '3'
services:
  mysql-dev:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: blogapp
  ports:
    - "3308:3306"
  volumes:
    - //c/Dockerfile/db-on-docker-ms:/var/lib/mysql

И запустить docker compose

$ docker-compose up
0 голосов
/ 17 марта 2019

Спасибо за ответ Мисанторпа!

Наконец-то я понял, как это сделать в контейнере Windows

путь томов должен быть:

volumes:
  - C:\Dockerfile\db-on-docker-ms:/var/lib/mysql

запустите команду в powershell:

COMPOSE_CONVERT_WINDOWS_PATHS = 0

затем запустите:

docker-compose up

...