1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/helyho-JDocker

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

JDocker

JDocker — это пакет разработки, созданный на основе Docker 1.12+ (Docker API 1.24+). Он позволяет разработчикам быстро создавать приложения для управления и работы с Docker с использованием Java, обеспечивая удобство и простоту использования.

Пакет имеет 87% покрытия тестами.

JDocker является подпроектом Voovan с открытым исходным кодом и зависит от проекта Voovan с открытым исходным кодом.

Контакты:

QQ группа: 454201740

JDK 1.8 jar size 196K

Важные обновления

  • 2017-03-16 [1.0-beta-2] В классе Cmd добавлены три перегруженные функции Connect. После создания Cmd необходимо выполнить connet для подключения к Docker.

    • public void connect()

      Используется конфигурация по умолчанию в DockerGlobal

    • public void connect(int timeOut)

      Используется конфигурация по умолчанию в DockerGlobal, задаётся событие таймаута

    • public void connect(String host, int port, int timeOut)

      Указывается хост Docker

  • 2017-01-22 [1.0-beta-1] Добавлена поддержка Docker Api 1.25.

  • 2016-12-05 Завершена поддержка Docker Api 1.24.


Поддержка Maven

<dependency>
    <groupId>org.voovan</groupId>
    <artifactId>JDocker</artifactId>
    <version>1.5.3</version>
</dependency>

Зависимость от Voovan Maven

<dependency>
    <groupId>org.voovan</groupId>
    <artifactId>voovan-framework</artifactId>
    <version>1.0</version>
</dependency>

Для получения дополнительной информации о поддержке Maven проектом Voovan посетите: Voovan on maven.


Подключение к Docker через настройку переменных среды в org.voovan.docker.DockerGlobal

    public static String DOCKER_REST_HOST = "127.0.0.1";
    public static int DOCKER_REST_PORT = 2735;
    public static String DOCKER_REST_CHARSET = "UTF-8";
    public static int DOCKER_REST_TIMEOUT = 5;
    public static boolean DEBUG = false;

Создание контейнера с помощью JDocker

        //Создаём команду создания
        CmdContainerCreate createCmd =  CmdContainerCreate.newInstance("d_test");
        createCmd.connect();
        //Используем потоковую операцию для создания контейнера
        Object data = createCmd.image("alpine").network("bridge")
                .volume("v_tx:/v_tx").link("dockerfly:dockerfly")
                .cmd("ping","127.0.0.1").env("author=helyho")
                .exposePort(22,"tcp","2222").send();
        createCmd.close();
        Logger.info(formatJSON(data));

Более подробную информацию можно найти в тестовых примерах org.voovan.docker.test.command.


Как включить Remote API Docker?

По умолчанию Docker предоставляет услуги через unixsock. Мы можем использовать следующие методы для открытия порта:

  • Преобразование unixsocket в TCP Socket с помощью socat

    socat tcp4-listen:2735,reuseaddr,fork unix-connect:/var/run/docker.sock

  • Включение прослушивания TCP-порта Docker

    Измените параметры запуска службы Docker и добавьте неиспользуемый номер порта.

    # vim /etc/default/docker

    DOCKER_OPTS='-H 127.0.0.1:2735'

    Перезапустите службу Docker, чтобы изменения вступили в силу.

Второй метод был найден мной в интернете, но я не смог его успешно протестировать. Я всегда использовал первый метод, который прост и эффективен.

Вышеупомянутая конфигурация соответствует двум параметрам в org.voovan.docker.DockerGlobal:

public static String DOCKER_REST_HOST = "127.0.0.1";
public static int DOCKER_REST_PORT = 2735;    

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

JDocker — это пакет для разработки, созданный на основе Docker 1.12. Он позволяет разработчикам быстро использовать Java для создания кода, который управляет Docker и работает с ним. Применяется потоковый режим работы, всё просто и понятно. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/helyho-JDocker.git
git@api.gitlife.ru:oschina-mirror/helyho-JDocker.git
oschina-mirror
helyho-JDocker
helyho-JDocker
master