Docker-compose не запустит MySQL, если я определю том - PullRequest
1 голос
/ 31 мая 2019

Я пытаюсь создать том для моего контейнера MySQL, чтобы данные могли сохраняться. Поэтому в моем docker-compose я создал том, в котором будут храниться данные.

Вот мой docker-compose:

version: '3'
services:
  app:
    build:
      context: .
      dockerfile: .docker/Dockerfile
    image: portfolio
    ports:
      - 80:80
    volumes:
      - .:/var/www/html
    links:
      - mysql
    environment:
      DB_HOST: mysql
      DB_DATABASE: blog
      DB_USERNAME: blog
      DB_PASSWORD: ...
  mysql:
    image: mysql:5.7
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: blog
      MYSQL_USER: blog
      MYSQL_PASSWORD: ...
      MYSQL_ROOT_PASSWORD: ...
    volumes:
      - "./db:/var/lib/mysql"

Громкость определяется в конце файла. К сожалению, это не работает. Если я делаю docker container ls, он показывает только контейнер портфолио, а если я делаю docker container ls -a, он показывает мой контейнер для MySQL, но он говорит, что он "вышел" сразу после того, как я сделал docker-compose up -d, так что, очевидно, это было начато, но затем немедленно разбилось или что-то.

Если я удаляю последние 2 строки, связанные с томом MySQL, он работает нормально. Мои контейнеры и приложение работает нормально. Так что в основном причиной сбоя контейнера является объем, поэтому, возможно, я не определил его правильно. Что ты думаешь?

...