Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';我不知道我是如何错误配置docker compose文件的_Docker_Docker Compose_Dockerfile - Fatal编程技术网

Can';我不知道我是如何错误配置docker compose文件的

Can';我不知道我是如何错误配置docker compose文件的,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我遵循了多个指南和教程 这是我的docker撰写文件 它给出了以下错误: services.mysql.environment.volumes包含[“mysql\u data:/var/lib/mysql”],这是一种无效类型,它应该是字符串、数字或空值 它创建了一个名为_volumename的卷 我只是不明白我犯的错误 version : '3' services: mysql: container_name: auth_db restart: always ima

我遵循了多个指南和教程

这是我的docker撰写文件

它给出了以下错误:

services.mysql.environment.volumes包含[“mysql\u data:/var/lib/mysql”],这是一种无效类型,它应该是字符串、数字或空值

它创建了一个名为_volumename的卷

我只是不明白我犯的错误

version : '3'
services:
  mysql:
    container_name: auth_db
    restart: always
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: supersecret
      MYSQL_DATABASE: name
      MYSQL_USER: user
      MYSQL_PASS: supersecret2
      volumes:
        - mysql_data:/var/lib/mysql
      ports:
        - 3306:3306

  auth-service:
    build: ./authservice
    volumes:
      - ./authservice:/usr/src/app
    ports:
      - 5000:5000

volumes:
  mysql_data: 

更多信息

如果我将音量行更改为
volumes:“-mysql\u data:/var/lib/mysql”

docker compose文件将编译,但
docker volume ls
提供此输出

local               4fa81a11596c2b67c2bb799d54afc6009ebcd82fcd10acae53a5aeefd005fd36
local               8636df909155569e8ebf0649f4c192616d0b6778d5eb7932b1f9542db55a07d8
local               832739c89f3b33ad0a1974ad7dc2ee9342373f904af3b2be5934331bae50b5e6
local               e5bb4a869f54ce3200d5a1fe129bc1f8ee46515cf03d9dd2ff327430d792117b
local               e35a38127fcb07702a58133883a021aa56c4aad6c439d254f32a119ad380d808
local               hell_mysql_data

docker compose文件所在的当前目录是地狱,因此我认为它的前缀来自

您的问题是关于缩进,卷和端口必须是服务定义中的顶级,如下所示:

version : '3'
services:
    mysql:
      container_name: auth_db
      restart: always
      image: mysql:latest
      environment:
        MYSQL_ROOT_PASSWORD: supersecret
        MYSQL_DATABASE: name
        MYSQL_USER: user
        MYSQL_PASS: supersecret2
      volumes:
        - mysql_data:/var/lib/mysql
      ports:
        - 3306:3306

    auth-service:
      build: ./authservice
      volumes:
        - ./authservice:/usr/src/app
      ports:
        - 5000:5000

volumes:
    mysql_data: 

你试过
/mysql\u data:/var/lib/mysql
?我没试过。但所有的资源都表明这是不必要的。比如这个。我觉得这应该行得通。但我遗漏了一些显而易见的东西——“mysql_data:/var/lib/mysql”,您的识别似乎也错了。卷和端口应与环境、映像、重新启动和容器处于同一级别。
卷:
端口:
缩进的级别太高。(注意错误消息中的“环境”一词,你不应该想到。)@Fábiocorriea即使你告诉它,我仍然没有注意到,谢谢大家的回复:D