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

Я создаю контейнер, используя плагин 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 

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

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

1 Ответ

0 голосов
/ 15 марта 2019

Если вы не укажете свойство 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>
...