2

我正在使用 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 

什么都没有回来。

我是否正确使用了卷功能?

4

1 回答 1

1

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

“Distroless”映像仅包含您的应用程序及其运行时依赖项。它们不包含包管理器、shell 或您希望在标准 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>
于 2019-03-15T20:09:49.067 回答