Docker 撰写 MySQL-卷无效无效规范

Docker compose MySQL-volumes invalid invalid specification

我正在使用服务 3,下面是我的代码,

我尝试在环境

中添加 var- COMPOSE_CONVERT_WINDOWS_PATHS: 1

它仍然得到错误:

错误:对于 db-on-docker-ms_mysql-dev_1 无法为服务 mysql-dev 创建容器:无效的卷规范:'/c/Dockerfile/db-on-docker-ms:/var/lib/mysql 在 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

我的Docker版本:18.09.2

我认为您要么需要从命令行设置 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 撰写

$ 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组合

$ docker-compose up

首先感谢 Misantorp 的回答!

我终于弄清楚如何在 windows 容器中做到这一点

卷路径应该是:

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

运行 powershell 中的命令:

COMPOSE_CONVERT_WINDOWS_PATHS=0

然后 运行:

docker-整理