I am running a server inside a docker container. I start it by using docker-compose up -d which works fine, i can access the Server. After some time however I receive a 503 - service unavailable error.
When I then perform any docker command e. g. docker ps or docker logs the server runs perfectly again. docker ps shows that the container was created days ago, but Status says Up 1 second. Is there any way for me to know what state my docker was in before? How does docker ps change the status?
docker-compose.yaml
version: '3'
services:
postgres:
restart: always
image: postgres:12.1
environment:
POSTGRES_PASSWORD: pass
POSTGRES_USER: user
networks:
- mynetwork
volumes:
- /home/user/data/postgres:/var/lib/postgresql/data
ports:
- 5432:5432
web:
restart: always
build: .
environment:
JPDA_ADDRESS: 8001
JPDA_TRANSPORT: dt_socket
networks:
- mynetwork
depends_on:
- postgres
ports:
- 80:8080
- 8001:8001
volumes:
- /home/user/data/images:/data/images
networks:
mynetwork:
driver: bridge
Dockerfile
FROM maven:3.6.3-jdk-8-slim as java-build-stage
WORKDIR /app/build
COPY . .
RUN mvn clean package -am -DskipTests -Dmaven.javadoc.skip=true -P deployment
# create the image to run the tomcat
FROM tomcat:9.0.30-jdk8-openjdk-slim as myname-build
ADD docker-resources/tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml
ADD docker-resources/index.html /usr/local/tomcat/webapps/ROOT/index.jsp
COPY --from=java-build-stage /app/build/deployment/target/myname.war /usr/local/tomcat/webapps/myname.war
CMD ["catalina.sh", "jpda" ,"run"]