com.bmuschko.gradle.docker.tasks.container.DockerCreateContainer.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gradle-docker-plugin Show documentation
Show all versions of gradle-docker-plugin Show documentation
Gradle plugin for managing Docker images and containers.
/*
* Copyright 2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.bmuschko.gradle.docker.tasks.container
import com.bmuschko.gradle.docker.tasks.image.DockerExistingImage
import com.github.dockerjava.api.DockerClient
import com.github.dockerjava.api.command.CreateContainerCmd
import com.github.dockerjava.api.command.CreateContainerResponse
import com.github.dockerjava.api.model.Bind
import com.github.dockerjava.api.model.Device
import com.github.dockerjava.api.model.InternetProtocol
import com.github.dockerjava.api.model.Link
import com.github.dockerjava.api.model.PortBinding
import com.github.dockerjava.api.model.Ports
import com.github.dockerjava.api.model.RestartPolicy
import com.github.dockerjava.api.model.Volume
import com.github.dockerjava.api.model.VolumesFrom
import org.gradle.api.provider.ListProperty
import org.gradle.api.provider.Property
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.Optional
class DockerCreateContainer extends DockerExistingImage {
@Input
@Optional
final ListProperty links = project.objects.listProperty(String)
@Input
@Optional
final Property containerName = project.objects.property(String)
@Input
@Optional
final Property hostName = project.objects.property(String)
@Input
@Optional
final Property ipv4Address = project.objects.property(String)
@Input
@Optional
final ListProperty portSpecs = project.objects.listProperty(String)
@Input
@Optional
final Property user = project.objects.property(String)
/**
* A list of additional groups that the container process will run as.
*
* @since 4.4.0
*/
@Input
@Optional
final ListProperty groups = project.objects.listProperty(String)
@Input
@Optional
final Property stdinOpen = project.objects.property(Boolean)
@Input
@Optional
final Property stdinOnce = project.objects.property(Boolean)
@Input
@Optional
final Property memory = project.objects.property(Long)
@Input
@Optional
final Property memorySwap = project.objects.property(Long)
@Input
@Optional
final Property cpuset = project.objects.property(String)
@Input
@Optional
final ListProperty portBindings = project.objects.listProperty(String)
@Input
@Optional
final Property publishAll = project.objects.property(Boolean)
@Input
@Optional
final Property attachStdin = project.objects.property(Boolean)
@Input
@Optional
final Property attachStdout = project.objects.property(Boolean)
@Input
@Optional
final Property attachStderr = project.objects.property(Boolean)
@Input
@Optional
final Property