Как построить образ docker, используя jib-maven-plugin, но не pu sh по умолчанию? - PullRequest
1 голос
/ 26 марта 2020

У меня есть простое приложение SpringBoot, и я хочу создать docker образ с использованием Jib Maven plugin . Вот моя конфигурация плагина:

<plugin>
    <groupId>com.google.cloud.tools</groupId>
    <artifactId>jib-maven-plugin</artifactId>
    <version>2.1.0</version>
    <configuration>
        <from>
            <image>openjdk:11-jdk-slim</image>
        </from>
        <to>
            <image>username/appname</image>
            <tags>
                <tag>latest</tag>
                <tag>${project.version}</tag>
            </tags>
        </to>
        <container>
            <mainClass>demo.Application</mainClass>
            <ports>
                <port>8080</port>
                <port>8787</port>
            </ports>
        </container>
    </configuration>
</plugin>

Я просто хочу создать образ локально и запустить его. Я не хочу собирать и создавать реестр sh в docker в одном go.

Когда я запускаю команду mvn jib: build , она автоматически выдвигается в DockerHub, используя мои учетные данные из Docker config (/ Users / имя пользователя / .docker / config. json) .

Есть ли способ отключить pu sh и другой Цель просто пу sh изображение в реестр?

1 Ответ

0 голосов
/ 26 марта 2020

Ближайший обходной путь - jib:buildTar; цель создает локальный архив по адресу target/jib-image.tar (путь настраивается с помощью <outputPaths><tar>). Запуск jib:buildTar (или любых jib:... целей) в первый раз создаст и кеширует все необходимое для создания образа. Следовательно, последующие jib:build прогоны будут недопустимы с точки зрения слоев здания. Потребуется только отправить слои, отсутствующие в удаленном реестре.

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


Не связано на ваш вопрос, вам не нужно устанавливать <tag>latest</tag>, потому что ссылка на целевое изображение username/appname уже подразумевает username/appname:latest. Конфигурация <tags> предназначена для добавления дополнительных тегов поверх <to><iamge>.

...