Exemplo n.º 1
0
 def __init__(
     self,
     image=None,
     env=None,
     path=None,
     copy=None,
     run=None,
     lang_env=None,
     uid=None,
     gid=None,
     name=POLYAXON_DOCKERFILE_NAME,
     workdir=POLYAXON_DOCKER_WORKDIR,
     workdir_path=None,
     shell=POLYAXON_DOCKER_SHELL,
 ):
     validate_image(image)
     self.image = image
     self.env = env
     self.path = path
     self.run = run
     self.copy = copy
     self.lang_env = lang_env
     self.uid = uid
     self.gid = gid
     self.name = name
     self.workdir = workdir
     self.workdir_path = workdir_path
     self.shell = shell
Exemplo n.º 2
0
def build(context, destination, nocache, max_retries, sleep_interval, reraise):
    """Build a dockerfile, this command required Docker to be installed."""
    from polyaxon.builds.builder import build

    try:
        validate_image(destination)
    except ValidationError as e:
        handle_cli_error(e, message="Image destination is invalid.")

    try:
        build(
            context=context,
            destination=destination,
            nocache=nocache,
            max_retries=max_retries,
            sleep_interval=sleep_interval,
        )
    except PolyaxonBuildException as e:
        handle_cli_error(e, message="Docker build failed")
        if reraise:
            raise e
        sys.exit(1)
Exemplo n.º 3
0
 def validate_dockerfile(self, data, **kwargs):
     validate_image(data.get("image"))
Exemplo n.º 4
0
 def validate_container(self, values):
     validate_image(values.get("image"))
Exemplo n.º 5
0
    def test_valid_image(self):
        assert validate_image(None, allow_none=True) is None
        assert validate_image("", allow_none=True) is None

        with self.assertRaises(ValidationError):
            validate_image("some_image_name:sdf:sdf:foo")

        with self.assertRaises(ValidationError):
            validate_image(
                "registry.foobar.com/my/docker/some_image_name:foo:foo")

        with self.assertRaises(ValidationError):
            validate_image("some_image_name / foo")

        with self.assertRaises(ValidationError):
            validate_image("some_image_name /foo:sdf")

        with self.assertRaises(ValidationError):
            validate_image("some_image_name /foo :sdf")

        with self.assertRaises(ValidationError):
            validate_image(
                "registry.foobar.com:foo:foo/my/docker/some_image_name:foo")

        with self.assertRaises(ValidationError):
            validate_image(
                "registry.foobar.com:foo:foo/my/docker/some_image_name")

        with self.assertRaises(ValidationError):
            validate_image(
                "registry.foobar.com:/my/docker/some_image_name:foo")
Exemplo n.º 6
0
 def __init__(self, image=None, image_pull_policy=None, command=None, args=None):
     validate_image(image)
     self.image = image
     self.image_pull_policy = image_pull_policy
     self.command = command
     self.args = args
Exemplo n.º 7
0
 def validate(self, data):
     validate_image(data.get("image"))