Как найти использование CPU MEMORY с помощью команды docker stats? - PullRequest
1 голос
/ 24 июня 2019

Я использую docker-java API для выполнения docker API в моем проекте.Я не нашел подходящего метода, который бы перечислял использование памяти процессором докера как

GET /v1.24/containers/redis1/stats HTTP / 1.1 с помощью docker-java API

Зависимость

compile group: 'com.github.docker-java', name: 'docker-java', version: '3.1.2'

Код

public static void execute() {
        DockerClient dockerClient = DockerClientBuilder.getInstance().build();
        dockerClient.statsCmd("containerName");  
    }

Я не получил никакого вывода

Подскажите, как выполнитьСтатистика Docker с помощью API Docker-Java

Ответы [ 2 ]

0 голосов
/ 18 июля 2019

Это работает для меня

public Statistics getNextStatistics() throws ProfilingException {
    AsyncResultCallback<Statistics> callback = new AsyncResultCallback<>();
    client.statsCmd(containerId).exec(callback);
    Statistics stats;
    try {
        stats = callback.awaitResult();
        callback.close();
    } catch (RuntimeException | IOException e) {
        // you may want to throw an exception here
    }
    return stats; // this may be null or invalid if the container has terminated
}
0 голосов
/ 24 июня 2019

DockerClient - это место, где мы можем установить соединение между механизмом / демоном Docker и нашим приложением.

По умолчанию демон Docker может быть доступен только в unix: /// var / run / docker.файл носка.Мы можем локально связаться с механизмом Docker, который прослушивает сокет Unix, если не настроено иное.

мы можем открыть соединение в два этапа:

    DefaultDockerClientConfig.Builder config 
  = DefaultDockerClientConfig.createDefaultConfigBuilder();
DockerClient dockerClient = DockerClientBuilder
  .getInstance(config)
  .build();

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

Например, сборщик принимает URL-адрес сервера, то есть мы можем обновить значение соединения, если механизм доступен на порту 2375:

DockerClient dockerClient
  = DockerClientBuilder.getInstance("tcp://docker.baeldung.com:2375").build();

Обратите внимание, что нам нужно добавить строку подключения с помощью unix: // или tcp: // в зависимости от типа подключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...