为什么我的docker CI映像无法在任何地方重现/运行

时间:2015-08-05 07:38:50

标签: java docker boot2docker

我有一个用于执行CI的Dockerfile。

它使用第三方tar​​ball的内容,后者又包含Java Runtime的部分内容(是的,它的丑陋)。

        For i As Integer = 0 To cols.Length Step 1
            ds.Tables(0).Columns.Add() 
        Next

        Dim row As String = sr.ReadLine()

        While row IsNot Nothing ' != null
            Dim rvalues As String() = RegularExpressions.Regex.Split(row, "/")

            ds.Tables(0).Rows.Add(rvalues)
            row = sr.ReadLine() 'row 

        End While

        Dim diplayview = New DataView(ds.Tables(0))
        Dim subset As DataTable = diplayview.ToTable(False, "column1", "column2", "column3", "column4", "column19", "column20") 'select columns

        GridView1.DataSource = subset
        GridView1.DataBind()

在执行期间,ONE主机上的Dockerfile需要“... / jre /.../ 服务器 /libjvm.so”并在另一台主机上执行需要“... / jre / .. ./client/libjvm.so“来自那个tarball。

Docker版本无处不在1.7.1 除了git repo文件夹(./)和tarball之外,没有任何东西添加到容器中。 这怎么可能? 是否有任何共享环境变量隐式传递给docker?

这就是Dockerfile的样子:

$ git clone xxx
$ cd xxx
$ docker build .

1 个答案:

答案 0 :(得分:0)

如果您可以在构建过程中修改Could not find or load main class com.install4j.runtime.launcher.Launcher 执行,则可以显式传递java-client参数,以选择是否应使用客户端或服务器JVM。

有关详细信息,请查看this other stackoverflow question