Назад | Перейти на главную страницу

Docker compose db не запускается

У меня есть файл docker-composer.yml, который запускает 4 службы: веб-портал, mysql db, elastisearch и службу kibana.

Если я использую в качестве образа базы данных mysql: latest, я вижу, что запускаются все 4 службы. Но если я использую в качестве образа mysql: 5.7, db не запускается.

Я не могу понять почему. Я попытался запустить только образ БД, и он работает. Это вместе с остальным, похоже, не работает.

version: '3'
 services:
  portal:
   image: glassofwhiskey/liferay-portal:7.0-ce-ga5-dev
   networks:
    - lfrnet
   ports:
    - "8000:8000"
    - "8080:8080"
    - "11311:11311"
  db:
   image: mysql:5.7
   environment:
     MYSQL_ROOT_PASSWORD: secret
   networks:
     - lfrnet
   ports:
    - "3306:3306"
   volumes:
    - db-data:/var/lib/mysql
  elasticsearch:
    image: glassofwhiskey/elasticsearch:2.4
    environment:
      ES_JAVA_OPTS: "-Xms512m -Xmx512m"
    networks:
     - lfrnet
    ulimits:
      memlock:
       soft: -1
       hard: -1
    volumes:
     - elasticsearch-data:/usr/share/elasticsearch/data
  kibana:
   image: kibana:4.6
   networks:
     - lfrnet
    ports:
     - "5601:5601"
 networks:
   lfrnet:
 volumes:
   db-data:
   elasticsearch-data:

Я работаю над машиной Ubuntu с последней версией докера. Но я обнаружил то же поведение, пытаясь файл композитора докеров на https://labs.play-with-docker.com/

Я начинаю с

docker-compose up --force-recreate -d

И я проверяю, что db не работает с

docker stats

Не знаю, как это исправить.

Вы можете проверить ошибки после запуска файла docker-compose, выполнив следующие действия:

  • docker ps получить идентификатор контейнера
  • docker logs --follow --details <CONTAINER ID> проверить ошибку

Просто что-то пришло мне в голову:

  • Это может быть вызвано конфликтом данных MySQL, поскольку вы используете том, поэтому убедитесь, что вы используете разные тома для каждой версии.