W Kenny
W Kenny

Reputation: 2089

Docker compose MySQL-volumes invalid invalid specification

I am using service 3 and below is mycode,

I tried to add the var- COMPOSE_CONVERT_WINDOWS_PATHS: 1 in environment

it still get the error:

ERROR: for db-on-docker-ms_mysql-dev_1 Cannot create container for service mysql-dev: invalid volume specification: '/c/Dockerfile/db-on-docker-ms:/var/lib/mysql under volumes: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 Version: 18.09.2

Upvotes: 0

Views: 3362

Answers (2)

W Kenny
W Kenny

Reputation: 2089

Thanks for Misantorp's ans first!

I finally figure out how to do it in windows container

the volumes path should be:

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

run the command in powershell:

COMPOSE_CONVERT_WINDOWS_PATHS=0

then run:

docker-compose up

Upvotes: 0

Misantorp
Misantorp

Reputation: 2831

I think you either need set COMPOSE_CONVERT_WINDOWS_PATHS environment variable from your command line

$ export COMPOSE_CONVERT_WINDOWS_PATHS=1

Then change the volumes configuration

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

Run docker compose

$ docker-compose up

Or you can attempt to set the volumes like this

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

And run docker compose

$ docker-compose up

Upvotes: 1

Related Questions