Skip to content

Commit dcc5744

Browse files
Support for privileged mode (#88)
Co-authored-by: C.Solovev <[email protected]>
1 parent 64a54dd commit dcc5744

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

config/src/main/scala/com/whisk/docker/config/DockerTypesafeConfig.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ object DockerTypesafeConfig extends DockerKitDockerJava {
5757
`ready-checker`: Option[DockerConfigReadyChecker],
5858
`volume-maps`: Seq[VolumeMapping] = Seq.empty,
5959
memory: Option[Long],
60-
`memory-reservation`: Option[Long]) {
60+
`memory-reservation`: Option[Long],
61+
privileged: Boolean = false) {
6162

6263
def toDockerContainer(): DockerContainer = {
6364
val bindPorts = `port-maps`.fold(EmptyPortBindings) { _.values.map(_.asTuple).toMap }.toSeq.map {
@@ -69,7 +70,8 @@ object DockerTypesafeConfig extends DockerKitDockerJava {
6970

7071
val hostConfig = HostConfig(
7172
memory = memory,
72-
memoryReservation = `memory-reservation`
73+
memoryReservation = `memory-reservation`,
74+
privileged = privileged
7375
)
7476

7577
DockerContainer(

core/src/main/scala/com/whisk/docker/DockerContainer.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,13 @@ case class HostConfig(
1919
/**
2020
* the soft limit on memory usage (in bytes)
2121
*/
22-
memoryReservation: Option[Long] = None
22+
memoryReservation: Option[Long] = None,
23+
24+
/**
25+
* whether to run in privileged mode
26+
*/
27+
privileged: Boolean = false
28+
2329
)
2430

2531
case class DockerContainer(image: String,

impl/docker-java/src/main/scala/com/whisk/docker/impl/dockerjava/DockerJavaExecutor.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ class DockerJavaExecutor(override val host: String, client: DockerClient)
4646
.withOption(spec.hostConfig.flatMap(_.memoryReservation)) {
4747
case (config, memoryReservation) => config.withMemoryReservation(memoryReservation)
4848
}
49+
.withOption(spec.hostConfig.map(_.privileged)) {
50+
case (config, privileged) => config.withPrivileged(privileged)
51+
}
4952

5053
val cmd = client
5154
.createContainerCmd(spec.image)

impl/spotify/src/main/scala/com/whisk/docker/impl/spotify/SpotifyDockerCommandExecutor.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ class SpotifyDockerCommandExecutor(override val host: String, client: DockerClie
5656
.withOption(spec.hostConfig.flatMap(_.memoryReservation)) {
5757
case (config, reservation) => config.memoryReservation(reservation)
5858
}
59+
.withOption(spec.hostConfig.map(_.privileged)) {
60+
case (config, privileged) => config.privileged(privileged)
61+
}
5962
.build()
6063
}
6164

0 commit comments

Comments
 (0)