Tag: spring

Docker中的SpringApplication不再工作

我有一个奇怪的问题。 我用一些function逻辑创build了一个Spring应用程序,并在本地启动它 – 它工作。 然后,我已经将我的整个项目导出到一个.war文件,并build立一个泊坞窗图像来在本地运行 – 它的工作。 由于ca. 2天…我想我做了一些改变…我想build立和再次运行我的docker文件,但总是停在这一点: Launching defaultServer (WebSphere Application Server 17.0.0.2/wlp-1.0.17.cl170220170523-1818) on IBM J9 VM, version pxa6480sr4fp10-20170727_01 (SR4 FP10) (en_US) [AUDIT ] CWWKE0001I: The server defaultServer has been launched. [AUDIT ] CWWKE0100I: This product is licensed for development, and limited production use. The full license terms can be viewed here: https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/license/base_ilan/ilan/17.0.0.2/lafiles/en.html […]

在哪里设置docker的代理Spring Boot Docker镜像/容器

我有弹簧启动应用程序正在互联网连接,这个应用程序jar是在docker集装箱,我在公司代理。 在我的dockerfile是有代理作为 ENV http_proxy http:// … ENV https_proxy https:// … 而且在我的我的java代码主要方法是有这样的代理设置: System.setProperty("http.proxyHost", "removed"); System.setProperty("https.proxyHost", "removed"); System.setProperty("http.proxyPort", "removed"); System.setProperty("https.proxyPort", "removed"); System.setProperty("http.proxyUser", "removed"); System.setProperty("http.proxyPassword", "removed"); 但它不适合我 我也尝试使用build-args设置代理: docker生成–build-arg HTTP_PROXY = http:// .. 但那也不起作用。 请帮我知道什么是最好的方式申请代理春季启动应用程序运行在公司代理后面的容器 我忘了提及,我正在使用Windows 10和docker托盘 – >设置 – >代理我已经设置了我的公司代理

多个数据库实体中唯一的ID

我正在开发基于Docker和Spring的Web应用程序。 这个架构依赖于微服务,每一个与Maven编译的.jar都是一样的。 然后,这些jar子在Docker容器中启动(每个微服务一个)。 问题是我在每个微服务中有多个实体,所以我的问题是:如何为每个微服务数据库的每个实体提供一个唯一的ID? 我真的不知道如何与多个数据库。 感谢您的回答

将envvariables传递给DOCKER Spring Boot

我有一个SpringBoot应用程序,它的Dockerfile如下。 我有不同的环境,如本地/ dev / qa / prod的application.properties。 当我在IDE中本地运行应用程序时,我在VM选项中传递了-Dspring.profiles.active = local ,以便加载application-local.properties。 作为docker容器运行,我构build了一个包含所有application.properties的图像。 即,对于所有的环境,它只是相同的泊坞窗图像。 当我在一个环境中运行映像时,我想以某种方式让SpringBoot了解它的开发环境,所以它必须加载application-dev.properties。 我正在使用AWS ECS来pipe理容器。 FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/sample-test-sb-sample-app-1.0-exec.jar app.jar EXPOSE 8080 ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

在Docker容器中将Spring与MySql连接起来

当我按照这个教程: https : //spring.io/guides/gs/accessing-data-mysql/#initial并旋转了一些新的docker集装箱: version: '2' services: db: image: mysql environment: – MYSQL_DATABASE=test – MYSQL_USER=test – MYSQL_PASSWORD=secret – MYSQL_ROOT_PASSWORD=root volumes: – ./db:/var/lib/mysql ports: – "3306:3306" phpmyadmin: image: phpmyadmin/phpmyadmin environment: PMA_ARBITRARY: 1 MYSQL_USER: test MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: root ports: – "80:80" links: # for mysql container – "db:db" volumes: db: driver: "local" 我无法连接到MySql数据库,当我在春运行示例应用程序时,我得到的错误: Unable to create […]

容器化的弹簧引导应用程序与oracle数据库重置连接

我有一个使用Oracle数据库的容器化的弹簧启动应用程序的问题。 我成功地构build了我的图像,但是当我使用docker运行它时,应用程序在获取连接池时受阻。 应用程序运行的连接重置exception,如果我尝试连接它,我得到另一个连接重置exception,但如果我刷新页面应用程序正常工作,直到我尝试稍后再次使用该应用程序。 Dockerfileconfiguration如下: FROM openjdk:8-jre-alpine VOLUME /tmp ADD *.jar /app.jar EXPOSE 8082 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"] 应用程序属性也很标准: server.port = 8082 spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.url=jdbc:oracle:thin:@<ip>:1521:<database> spring.datasource.username=<username> spring.datasource.password=<password> spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect 我正在构build映像并使用以下命令运行docker容器: docker build -t <image_name> . docker run -p 8082:8082 -d <image_name>` 我已经尝试了几件事情: 使用谷歌search的问题,我发现在Linux内运行时Oracle有熵问题,所以我添加了-Djava.security.egd = file:/ dev /./ urandom 这不起作用,所以我尝试了熵的工具。 我不知道到底在哪里安装它,所以我试图在两个地方安装它(在容器内使用RUN apk -U add haveged在主机上(这是一个Ubuntu的xenial 16.04.4)) 这没有任何工作,所以我试图通过从容器中删除/dev/random来“破解”,并用符号链接replace它,使用ln -s /dev/urandom /dev/random ,但即使这样也不起作用,所以我尝试更改java.security属性securerandom.source=file:/dev/random […]

无法访问任何服务的容器

我创build了一个图像: stavalfi/projecty:latest这是一个非常基本的Java春季应用程序。 当我运行一个没有swarm的容器时,一切工作正常: docker run -d -p 8081:8080 –name container1 stavalfi/projecty:latest 从铬工作: http://localhost:8081/ http://172.17.0.2:8080/ <<– the address of the leader (no other nodes in the swarm) 当我使用以下方法创build服务时: docker service create -p 8080:8080 –name service1 stavalfi/projecty:latest docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ab8cb85e9750 stavalfi/projecty:latest "/bin/sh -c '/usr/…" 5 minutes ago Up 5 […]

Docker文件在docker容器上运行spring启动应用程序?

嗨,我想创build一个docker图像与Java和Maven安装在它的端口8090打开。 一旦容器运行,我将复制我的弹簧引导项目到容器,我将从容器中运行它。 为此,我试图创builddocker文件。 我能够在当地成功build立docker图像。 当我尝试创build它的容器。 它没有带上容器。 我已经浪费了2天的时间。 我用下面的docker文件。 FROM ubuntu:16.04 ENV DEBIAN_FRONTEND noninteractive ENV VERSION 8 ENV UPDATE 152 ENV BUILD 16 ENV SIG aa0333dd3019491ca4f6ddbe78cdb6d0 ENV JAVA_HOME /usr/lib/jvm/java-${VERSION}-oracle # install jre RUN apt-get update -qq && \ apt-get upgrade -qqy –no-install-recommends && \ apt-get install curl unzip bzip2 -qqy && \ mkdir -p "${JAVA_HOME}" && […]

未能执行目标com.spotify:docker-maven-plugin:1.0.0:build捕获的exception:basedir src / main / docker不存在

使用docker部署Spring Cloud项目,在pom.xml部分代码: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!– tag::plugin[] –> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <!– end::plugin[] –> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> 当我运行命令: mvn package docker:build ,它会引发错误: [INFO] [INFO] — spring-boot-maven-plugin:1.5.2.RELEASE:repackage (default) @ eureka-server — [INFO] [INFO] — […]

EC2集装箱docker和春季启动日志

在EC2上,我有两个服务任务,这两个任务给了我2个Spring Boot应用程序的相同实例。 我正在使用docker。 在我的SpringBoot应用程序中,我configuration了logback: <appender name="TIME_BASED_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs/server.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>%d %-5level [%thread] %logger{35} – %msg%n</pattern> </encoder> <prudent>true</prudent> </appender> <logger name="timeBased" level="INFO"> <appender-ref ref="TIME_BASED_FILE"/> </logger> <root level="INFO"> <appender-ref ref="TIME_BASED_FILE" /> </root> 并且文件夹日志/是在EC2中的任务定义中映射到/ backend-logs的卷: 当我input/后端日志和浏览日志文件有日志,但不是所有…我读的审慎应该提供我从多个JVM实例的日志,我会说,现在我有〜80%的日志(不谨慎=是<50%) 我可以做什么来拥有所有日志?