我正在尝试通过docker容器运行spring-boot应用程序。我正在使用docker-compose。但是容器没有启动。它的状态始终显示为“正在重新启动X秒”。我找不到问题,因为我无法进入容器检查日志。甚至“码头工人日志”也没有任何回应。
任何人都可以让我知道是否有找到问题的方法。
下面是 docker-compose.yml
version: "3"
services:
test-create-backend:
restart: always
build: .
container_name: test-create-backend
environment:
- JASYPT_PWD=${JASYPT_PWD}
networks:
- test-proxy
ports:
- "8096:8096"
volumes:
- /home/ubuntu/tnc_logs:/TnC/logs
nginx:
restart: always
container_name: nginx
image: nginx
networks:
- test-proxy
depends_on:
- test-create-backend
ports:
- '80:80'
- '443:443'
volumes:
- './nginx_proxy/conf.d:/etc/nginx/conf.d:ro'
- './build:/var/www'
- '/etc/ssl/certs:/etc/ssl/certs:ro'
networks:
disip-proxy:
external:
name: test-proxy
下面是Dockerfile
FROM maven:3.6.0-jdk-11-slim AS build
# Copy the source code
RUN rm -rf /usr/src/app/*
COPY src /usr/src/app/src
COPY pom.xml /usr/src/app
USER root
# Setup working directory
WORKDIR /usr/src/app
# Speed up Maven JVM a bit
ENV MAVEN_OPTS="-XX:+TieredCompilation -XX:TieredStopAtLevel=1"
# Compile the code, run unit tests and pack the fat-JAR file
RUN mvn -T 1C -f /usr/src/app/pom.xml clean package -DskipTests
# Building the final image with fatjar
FROM openjdk:11-jre-slim
COPY --from=build /usr/src/app/target/test*.jar /home/app/app.jar
ENTRYPOINT java -jar -Dspring.profiles.active=local -Djasypt.encryptor.password=${JASYPT_PWD} /home/app/app.jar
答案 0 :(得分:0)
由于某种原因,容器似乎在启动时崩溃。尝试使用伪TTY“ -dit”参数启动它,以查看其失败原因
docker run -it MYCONTAINER /bin/sh
这应该使您了解其崩溃的原因。
答案 1 :(得分:0)
您应该运行覆盖入口点的构建映像,并使用以下命令从那里进行故障排除:
# Assuming you have /bin/bash
docker run -it --entrypoint "/bin/bash" myimagename:myimagetag
您应该能够从此处进入容器并添加了您的应用程序,然后在入口点运行java
命令,这很可能是问题所在(可能会自动失败)。