Repository URL to install this package:
Version:
1.0.0b1 ▾
|
pycklets
/
docker_container_running.py
|
---|
# -*- coding: utf-8 -*-
from pyckles import AutoPycklet
class DockerContainerRunning(AutoPycklet):
"""Installs docker (if necessary), then downloads and executes a Docker image.
TODO: Add other important 'docker run' flags. Maybe not all of them, have a 'docker-container-running-export' (or so) frecklet for that.
Probably also have a different frecklet for interactive docker containers that can take command-line arguments. Not sure yet.
Args:
image: The image to use.
name: A name to identify this container with.
ports: A list of ports to expose on the host.
skip_docker_install: Whether to assume docker is already installed.
users: A list of users who will be added to the 'docker' group.
volumes: A list of volumes to mount.
"""
FRECKLET_ID = "docker-container-running"
def __init__(
self,
image=None,
name=None,
ports=None,
skip_docker_install=None,
users=None,
volumes=None,
):
super(DockerContainerRunning, self).__init__(
var_names=[
"image",
"name",
"ports",
"skip_docker_install",
"users",
"volumes",
]
)
self._image = image
self._name = name
self._ports = ports
self._skip_docker_install = skip_docker_install
self._users = users
self._volumes = volumes
@property
def image(self):
return self._image
@image.setter
def image(self, image):
self._image = image
@property
def name(self):
return self._name
@name.setter
def name(self, name):
self._name = name
@property
def ports(self):
return self._ports
@ports.setter
def ports(self, ports):
self._ports = ports
@property
def skip_docker_install(self):
return self._skip_docker_install
@skip_docker_install.setter
def skip_docker_install(self, skip_docker_install):
self._skip_docker_install = skip_docker_install
@property
def users(self):
return self._users
@users.setter
def users(self, users):
self._users = users
@property
def volumes(self):
return self._volumes
@volumes.setter
def volumes(self, volumes):
self._volumes = volumes