Как проверить работу docker контейнера?

230
07 апреля 2019, 16:00

Есть docker контейнер с java приложением.

Dockerfile:

FROM openjdk:8
# Install maven
RUN apt-get update
RUN apt-get install -y maven
WORKDIR /pg_importer
# Prepare by downloading dependencies
ADD pom.xml /pg_importer/pom.xml
RUN ["mvn", "dependency:resolve"]
RUN ["mvn", "verify"]
# Adding source, compile and package into a fat jar
ADD src /pg_importer/src
RUN ["mvn", "install"]
COPY target/pg_importer-1.0-SNAPSHOT.jar /opt/pg_importer-1.0-SNAPSHOT.jar
ENTRYPOINT ["java", "-jar", "/opt/pg_importer-1.0-SNAPSHOT.jar", "10", "//localhost:5432/ulk", "root", "root", "http://wn.ua/ULKTest/solution/config/metadata_full.xml", "http://kafka-utils01.ua:8081", "kafka01.ua:9092,kafka02.ua:9092,dkafka03.ua:9092", "kafka01.ua:2181,kafka01.ua:2181,kafka01.ua:2181"]

Команда docker inspect pg_importer2 выдает:

    "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 14670,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2018-11-09T12:47:14.698564523Z",
            "FinishedAt": "2018-11-09T12:46:54.949742692Z"
        },

Как я понимаю контейнер запущен. После запуска приложение должно выводить в консоль информацию. Как мне проверить работает ли само приложение?

docker logs --details pg_importer2 

ничего не выдает. не могу понять, мое приложение зависло или работает. Как это можно проверить?

Дополнение: Контейнер запустился, но приложение не может подключиться к ресурсам указанным в аргументах:

java.net.UnknownHostException: wn.ua
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)

Контейнер оказался рабочим. Но в нем приложение не видит сетевые ресурсы. Наверное это вопрос отдельного топика.

Answer 1

Проверьте сначало запустили ли вы сам контейнер. Проверить можно командой: docker ps - список всех контейнеров в статусе running.

Также можете прописать echo в ENTRYPOINT скрипте(sh). И там уже запускать свой jar

READ ALSO
Как правильно сделать лайк функцию в firebase?

Как правильно сделать лайк функцию в firebase?

Есть приложение, в нем постыЛайки, сделал следующим образом:

180
Добавление библиотек в Intellij Idea

Добавление библиотек в Intellij Idea

Мне необходимо добавить библиотеки, скачанные с интернета, которые хранятся в форме каталогов, в проектДелаю это следующим образом: File->Project...

190
Для чего нужен метод BigInteger probablyPrime ?

Для чего нужен метод BigInteger probablyPrime ?

Наткнулся на метод probablePrime в классе BigInteger, кто-то может объяснить для чего он нужен, и как он работает ?

162
Java аргументы или что то вроде этого

Java аргументы или что то вроде этого

В интернете нашел такие "аргументы" как: ||, &&, &, |

164