我有一个用于执行CI的Dockerfile。
它使用第三方tarball的内容,后者又包含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 .
答案 0 :(得分:0)
如果您可以在构建过程中修改Could not find or load main class com.install4j.runtime.launcher.Launcher
执行,则可以显式传递java
或-client
参数,以选择是否应使用客户端或服务器JVM。
有关详细信息,请查看this other stackoverflow question。