'Docker container exited, not running

I have java application to be run in one docker container which connect to myqsql db which is in another docker container , the problem is that javaserver container is exited and not running, mysql8server is running well.

I start running the shell script ./run.sh

#!/bin/bash
RECONNECT_BRIDGE=$(docker network ls | grep -c rconnect_bridge)
echo "RECONNECT_BRIDGE COUNT = $RECONNECT_BRIDGE"
if [ $RECONNECT_BRIDGE -ne 0 ]; then
        docker network rm rconnect_bridge
        echo "Removing previous reconnect bridge"
fi

docker network create rconnect_bridge
echo "reconnect_bridge has been successfully created"

MYSQL_CONTAINER=$(docker container ls -a | grep -c mysql8server)
echo "MYSQL_CONTAINER COUNT $MYSQL_CONTAINER"
if [ $MYSQL_CONTAINER -ne 0 ]; then
        docker container stop mysql8server
        docker container rm mysql8server
        echo "Previous mysql8server stopped and removed"
fi

#check mysql directory
if [ ! -d "/u01/data/mysql" ]; then
        mkdir -p /u01/data/mysql
        chmod u+xrw /u01/data/mysql
        echo "/u01/data/mysql folder has been created"
fi

#create mysql container 
docker container run -d --name mysql8server --network rconnect_bridge -v /u01/data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:8.0.25
echo "waiting for the mysql server to be launched"
sleep 30
echo "launching mysql8server"


#Build the javaserver image
docker build -t javaserver:1.0 .

JAVA_CONTAINER=$(docker container ls -a | grep -c javaserver)
if [ $JAVA_CONTAINER -ne 0 ]; then
        docker container stop javaserver
        docker container rm javaserver
fi
docker container run -it -d --name javaserver --network rconnect_bridge javaserver:1.0 /bin/bash
echo "java server launched successfully"

Dockerfile

FROM ubuntu:21.04
ENV JAVA_HOME=/u01/data/jdk-11
ENV PATH=$PATH:${JAVA_HOME}/bin

RUN mkdir -p /u01/data
WORKDIR /u01/data

ADD https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz .
RUN gunzip openjdk-11+28_linux-x64_bin.tar.gz
RUN tar -xvf openjdk-11+28_linux-x64_bin.tar
RUN rm -f openjdk-11+28_linux-x64_bin.tar

ADD https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz .
RUN gunzip apache-tomcat-9.0.45.tar.gz
RUN tar -xvf apache-tomcat-9.0.45.tar
RUN rm -f apache-tomcat-9.0.45.tar

COPY target/rconnect.war /u01/data/apache-tomcat-9.0.45/webapps/
RUN echo "copying the war file to the destination"

COPY src/main/db/db-schema.sql /u01/data/
COPY startup.sh .
RUN chmod u+x /u01/data/startup.sh
ENTRYPOINT ["/u01/data/startup.sh"]
CMD ["tail","-f","/dev/null"]

startup shell script file

#!/bin/bash
set -e
mysql -uroot -proot -hmysql8server < /u01/data/db-schema.sql
echo "creating the db schema"
/u01/data/apache-tomcat-9.0.45/bin/startup.sh &
exec "$@"


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source