我在我的项目中创建了以下Dockerfile来容器化Spring app
FROM java:8
EXPOSE 8080
VOLUME /tmp
ADD ./spring-boot-app.jar /app/app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/app.jar"]
无论我是否尝试在ADD./spring-boot-app.jar/app/app.jar中提供jar文件的完整项目路径,仍然会导致以下错误-
FROM openjdk:8-jre-alpine
ADD build/libs/*.jar app.jar
ENTRYPOINT exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar
但是当运行命令docker-compose up时,它没有将spring boot app容器与mysql容器链接起来,并给出通信链接失败错误。这可能是因为Dockerfile入口点。下面是docker-compose.yml:
version: '3'
services:
demo-mysql:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: smthing
MYSQL_DATABASE: smthing
MYSQL_USER: smthing
MYSQL_PASSWORD: smthing
spring-boot-docker-webapp:
build:
context: .
dockerfile: Dockerfile
depends_on:
- demo-mysql
ports:
- 8080:8080
environment:
DATABASE_HOST: demo-mysql
DATABASE_USER: smthing
DATABASE_PASSWORD: smthing
DATABASE_NAME: smthing
DATABASE_PORT: 3306
好吧,看起来你现在有点改变了,这又成了另一个问题。如果您想从Spring Boot应用程序与mysql通信,您需要将它们放在网络上。您可以在docker compose文件中的任何地方声明网络(我喜欢在底部声明),但是对于每个服务,您需要将您的服务添加到该网络中。然后,您需要为Spring Boot服务设置一个环境变量,=mysql容器的容器名。在您的例子中,Mysql-demo。您需要更新Spring boot项目中的application.properties以接受该变量,例如。
MYSQL_HOST=localhost spring.datasource.url=jdbc:mysql://${MYSQL_HOST}/your-db-name
这样,您的应用程序将默认为localhost,除非您将环境变量传入,这将从您的docker compose文件中执行,这将告诉您的应用程序指向您放置在与您的应用程序相同的网络上的mysql容器。
DockerFile-- pom.xml--
docker错误: PS C:\Windows\System32>docker运行测试错误:出现JNI错误,请检查线程“main”java.lang.noClassDeffounderRorr:javax/JMSException在java.lang.Class.GetDeclaredMethods0(本机方法)在java.lang.Class.GetDeclaredMethods(class.j
我有一个ejb文件,其中包含一些文件和一个消息驱动bean。 对如何解决这个问题有什么想法吗? 此处的Glassfish服务器错误http://pastebin.com/hkyrfnwe
Eclipse在容器中工作得很好,它的窗口在主机上是可见的(X11通过socket共享)。 该应用程序是一个使用JavaFX(Efxclipse和M2Eclipse)的Eclipse RCP项目。我删除了下面RCP的所有引用,以减少示例中的复杂性,并且因为它也发生在真正简单的JavaFX应用程序(非OSGI)中--所以OSGI不是发行方。 在Eclipse(在Docker容器内)中运行JavaFX
当我连续发布数据时,我会在C#应用程序上得到发布超时错误,一旦我重新启动应用程序,它会工作几个小时。[注意:由于php需要时间完成任务,所以新的请求都在等待中,它创建队列,等待时间超过2分钟,im出现超时错误]。 我们的两台服务器都使用了最大50%的CPU和RAM使用量 我检查了两个C#代码和PHP代码都工作良好,没有任何问题或bug 提前致谢哥们儿:)
我试图在Heroku上推动我的Spring Boot应用程序,我得到了一个错误:未能用Maven构建应用程序,即未能执行目标org.apache.Maven.plugins:maven-compiler-plugin:3.8.1:compile(default-compile)on project BlogApplication:致命错误编译:无效的目标版本:11。 日志: pom.xml