无法启动Docker容器

时间:2019-08-19 14:49:47

标签: spring-boot docker docker-compose dockerfile

我正在尝试通过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

2 个答案:

答案 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命令,这很可能是问题所在(可能会自动失败)。