Не могу понять, как я неправильно сконфигурировал свой файл docker-compose - PullRequest
0 голосов
/ 17 апреля 2019

Я следовал нескольким гидам и учебникам.

Это мой файл docker-compose.

выдает следующую ошибку,

services.mysql.environment.volumes contains ["mysql_data:/var/lib/mysql"], which is an invalid type, it should be a string, number, or a null

И он создает том с именем _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_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, - АД, поэтому я думаю, что он получил префикс от

1 Ответ

1 голос
/ 17 апреля 2019

Ваша проблема, связанная с отступами, тома и порты должны находиться на верхнем уровне в определении службы, как указано ниже:

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: 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...