Как сделать хост-файл доступным внутри контейнера с помощью плагина Maven Jib

Я строю контейнер, используя плагин Jib's Maven.

У меня есть файл с именем /tmp/folder/file.json на моем хост-компьютере, который я должен иметь возможность читать из контейнера.

Я пытался смонтировать /tmp/folder используя функцию томов:

  <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>jib-maven-plugin</artifactId>
     <version>1.0.0</version>
     <configuration>
       <to>
          <image>myimage</image>
       </to>
       <container>
           <volumes>
               <volume>/tmp/folder</volume>
           </volumes>
       </container>
      </configuration>
  </plugin>

Я думаю /tmp/folder доступен из контейнера, но file.json нет. По крайней мере, когда я пытаюсь это

 docker exec -it my_cotainer /bin/ls /tmp/folder 

Ничего не возвращается

Я правильно использую функцию громкости?

0 ответов

Если вы не укажете from свойство по умолчанию gcr.io/distroless/javaизображение используется. Вы можете выполнить/bin/ls используя это изображение.

Образы "без дистрибутивов" содержат только ваше приложение и его зависимости времени выполнения. Они не содержат менеджеров пакетов, оболочек или каких-либо других программ, которые вы ожидаете найти в стандартном дистрибутиве Linux.

Попробуйте собрать из образа на основе linux.

  <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>jib-maven-plugin</artifactId>
     <version>1.0.0</version>
     <configuration>
       <from>
          <image>openjdk:8-jre-alpine</image>
       </from>
       <to>
          <image>myimage</image>
       </to>
       <container>
           <volumes>
               <volume>/tmp/folder</volume>
           </volumes>
       </container>
      </configuration>
  </plugin>
Другие вопросы по тегам