Skip to content

Commit 98afa5a

Browse files
liyinan926foxish
authored andcommitted
Added docker build arguments (#18)
1 parent 3ec521f commit 98afa5a

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

integration-test/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/docker/SparkDockerImageBuilder.scala

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@
1717
package org.apache.spark.deploy.k8s.integrationtest.docker
1818

1919
import java.net.URI
20+
import java.net.URLEncoder
2021
import java.nio.file.Paths
2122

22-
import com.spotify.docker.client.{DefaultDockerClient, DockerCertificates, LoggingBuildHandler}
23+
import com.spotify.docker.client.{DockerClient, DefaultDockerClient, DockerCertificates, LoggingBuildHandler}
2324
import org.apache.http.client.utils.URIBuilder
2425
import org.scalatest.concurrent.{Eventually, PatienceConfiguration}
2526
import org.scalatest.time.{Minutes, Seconds, Span}
@@ -62,18 +63,32 @@ private[spark] class SparkDockerImageBuilder
6263

6364
def buildSparkDockerImages(): Unit = {
6465
Eventually.eventually(TIMEOUT, INTERVAL) { dockerClient.ping() }
65-
buildImage("spark-base", BASE_DOCKER_FILE)
66+
buildImage("spark-base", BASE_DOCKER_FILE,
67+
Some("{\"spark_jars\":\"jars\",\"img_path\":\"kubernetes/dockerfiles\"}"))
6668
buildImage("spark-driver", DRIVER_DOCKER_FILE)
6769
buildImage("spark-executor", EXECUTOR_DOCKER_FILE)
6870
buildImage("spark-init", INIT_CONTAINER_DOCKER_FILE)
6971
}
7072

71-
private def buildImage(name: String, dockerFile: String): Unit = {
72-
dockerClient.build(
73-
DOCKER_BUILD_PATH,
74-
name,
75-
dockerFile,
76-
new LoggingBuildHandler())
73+
private def buildImage(
74+
name: String,
75+
dockerFile: String,
76+
buildArgs: Option[String] = None): Unit = {
77+
if (buildArgs.nonEmpty) {
78+
dockerClient.build(
79+
DOCKER_BUILD_PATH,
80+
name,
81+
dockerFile,
82+
new LoggingBuildHandler(),
83+
DockerClient.BuildParam.create("buildargs", URLEncoder.encode(buildArgs.get, "UTF-8")))
84+
} else {
85+
dockerClient.build(
86+
DOCKER_BUILD_PATH,
87+
name,
88+
dockerFile,
89+
new LoggingBuildHandler())
90+
}
91+
7792
logInfo(s"Built $name docker image")
7893
}
7994
}

0 commit comments

Comments
 (0)