Mam mały problem z uruchomieniem mojej aplikacji do uruchamiania wiosennego w oknie dokowanym.Spring-boot nie może uruchomić się w docker
stosu: Maven 3+, wiosna rozruchowy (JPA/reszta/molo) - mysql - wdrożyć w dokowanym
Więc, ja mam w moim pliku pom
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.M3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- SPRING BOOT DEPENDENCIES -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- add for exlude tomcat -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- END SPRING BOOT DEPENDENCIES-->
<!-- Jetty (tomcat replacement) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<!-- mysql connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- optional dependency javax.el -->
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>3.0.0</version>
</dependency>
<!-- google http client -->
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client</artifactId>
<version>1.21.0</version>
</dependency>
<!-- google http jackson -->
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-jackson2</artifactId>
<version>1.21.0</version>
</dependency>
</dependencies>
Środowisko: Ubuntu 16.04 64 problem: lokalnie: próbuję uruchomić aplikację z mojego polecenia obserwacji w terminalu
user$ java -Xmx768m -jar /mnf-backend.jar --spring.datasource.url=jdbc:mysql://$MYSQL_PORT_3306_TCP_ADDR/app_1?autoReconnect=true&useSSL=false
user$ #<--- LOOK AT THIS jvm has return of control with 1 status (or same status but not negative)
:: Spring Boot :: (v1.4.0.M3) # <--- spring boot starts by itself. HOW????
to nie jest dobry przez co mogę tolerat e to. Ale nie doker. Gdy powyższe polecenia uruchomienia w dokowanym następnie dokowanym pojemnik zatrzymania (z powodu -> ok wyjście ze stanu 1)
ENTRYPOINT ["java", "-Xmx768m", "-jar", "/mnf-backend.jar", "--spring.datasource.url=jdbc:mysql://$MYSQL_PORT_3306_TCP_ADDR/app_1?autoReconnect=true&useSSL=false"]
dokowanym rozpocznie pojemnik 1 sekundę i natychmiast zatrzymać, ponieważ pojemnik regulacji powrotu Java. Poszukuję metody, która pozwoli mi skonfigurować aplikację wiosną dla przewidywalnego zachowania lub pomysłów, jak poprawić moje instrukcje dokowania. moją zawartość dockerfile:
FROM frolvlad/alpine-oraclejdk8:slim
ENV MNFB_ENV production
ENV SERVER_PORT 9000
ADD ./builds/mnf-latest.jar mnf-backend.jar
EXPOSE 9000
ENTRYPOINT ["java", "-Xmx768m", "-jar", "/mnf-backend.jar", "--spring.datasource.url=jdbc:mysql://$MYSQL_PORT_3306_TCP_ADDR/minifinance?autoReconnect=true&useSSL=false"]
Na przykład: kiedy mam zacząć nie nodejs kontrola aplikacji powrócić dopóki aplikacja nie skończył
user$ node ./server.js
[...here program output and stdout strings]
[... it may be stopped by ctrl+c for example]
Czy możesz opublikować plik Docker, którego użyłeś? A co nie jest dobre, że można tolerować? – techtabu
Przepraszam za mój angielski. Chodzi mi o to, że mogę tolerować to wiosenne zachowanie lokalnie, ale nie w docku –
, jeśli aplikacja (java) wychodzi z kodem błędu 1 - oznacza to, że masz problemy w środowisku, a nie Spring Boot. Wyszukaj identyfikator lub nazwę kontenera kontenera i użyj "dzienników dokowania", aby dowiedzieć się, co poszło nie tak. –
jdevelop