如何使用Maven Jib插件使主机文件在容器内可用

时间:2019-02-06 16:38:16

标签: maven docker-volume jib

我正在使用Jib的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 :(得分:0)

如果不指定from属性,则使用默认的gcr.io/distroless/java图像。您可以使用此图像执行/bin/ls

  

“无发行版”映像仅包含您的应用程序及其运行时依赖项。它们不包含您希望在标准Linux发行版中找到的程序包管理器,shell或任何其他程序。

尝试从基于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>
相关问题