Docker Compose 数据库未启动

Docker Compose 数据库未启动

我有这个 docker-composer.yml 文件,它启动了 4 项服务:一个 Web 门户、一个 mysql db、一个 elastisearch 和 kibana 服务。

如果我使用 mysql:latest 作为数据库镜像,我会看到所有 4 个服务都在启动。但是如果我使用 mysql:5.7 作为镜像,数据库不会启动。

我不明白为什么。我尝试单独启动数据库映像,它可以工作。但它与其余部分一起似乎不起作用。

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:

我在装有最新版 docker 的 Ubuntu 机器上工作。但我在尝试运行 docker composer 文件时发现了同样的行为https://labs.play-with-docker.com/

我开始

docker-compose up --force-recreate -d

我检查数据库没有运行

docker stats

不知道如何解决这个问题。

答案1

启动docker-compose文件后,您可以按照以下步骤检查错误:

  • docker ps获取容器 ID
  • docker logs --follow --details <CONTAINER ID>检查错误

我突然想到:

  • 这可能是由于您使用的卷导致 MySQL 数据冲突,因此请确保每个版本使用不同的卷

相关内容