gpt4 book ai didi

java - Docker compose mysql 容器在依赖它的应用程序之后运行

转载 作者:行者123 更新时间:2023-11-29 16:56:51 27 4
gpt4 key购买 nike

我有一个依赖 MySQL 的简单 Java 应用程序。

这就是我的 docker-compose.yaml看起来像:

version: "3.3"
services:
docker-mysql:
image: mysql:latest
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=test
- MYSQL_PASSWORD=root
volumes:
- /var/lib/mysql
ports:
- 3306:3306
my-app:
build: .
depends_on:
- docker-mysql
ports:
- 8080:8080

这是我的 Dockerfile创建容器化应用程序,即 my-app :

FROM openjdk:8
EXPOSE 8080
ADD /target/Service1-0.0.1.jar Service1.jar
ENTRYPOINT ["java","-jar","Service1.jar"]

当我尝试docker-compose up时,应用程序成功启动 Tomcat,但无法连接到 MySQL 容器,因为它在应用程序之后启动:

enter image description hereDocker 撰写日志

最佳答案

通常,它应该出现在数据库容器之后。 docker logs docker-mysql_1 --tail 25 -f 的结果是什么,也粘贴一下。

此外,尝试为您的数据库容器添加卷部分,如下所示

environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=test
- MYSQL_PASSWORD=root
volumes:
- /var/lib/mysql

关于java - Docker compose mysql 容器在依赖它的应用程序之后运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52514506/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com