Project

General

Profile

Actions

Feature #8333

closed

[SDKs] `arv keep docker` supports `repo:tag` image name scheme

Added by Brett Smith about 8 years ago. Updated over 6 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
SDKs
Target version:
Story points:
0.5

Description

Right now the syntax is arv keep docker repo tag. We can keep supprting that, but adding support for arv keep docker repo:tag would be more like the rest of the Docker universe, including other Arvados Docker references like the job runtime constraint.


Subtasks 1 (0 open1 closed)

Task #12363: Review 8333-docker-repo-tagResolvedPeter Amstutz02/01/2016Actions

Related issues

Related to Arvados - Bug #8315: [SDKs] arv-copy fails to copy a Docker image specified with repo:tag syntaxNewActions
Related to Arvados - Bug #19840: Gets confused by port numbers in docker image nameResolvedTom Clegg12/08/2022Actions
Has duplicate Arvados - Feature #10664: arv-keepdocker should upload images with image:tagDuplicate12/05/2016Actions
Actions #1

Updated by Brett Smith about 8 years ago

  • Target version set to Arvados Future Sprints
Actions #2

Updated by Brett Smith about 8 years ago

  • Subject changed from [SDKs] `arv keep docker` supports `arv keep docker repo:tag syntax` to [SDKs] `arv keep docker` supports `repo:tag` image name scheme
Actions #3

Updated by Nico César over 6 years ago

Jeff Jasper from q^2 bumped into this problem. Can we fix this?

Actions #4

Updated by Tom Morris over 6 years ago

  • Target version changed from Arvados Future Sprints to 2017-10-11 Sprint
Actions #5

Updated by Tom Clegg over 6 years ago

  • Assigned To set to Tom Clegg
Actions #6

Updated by Tom Clegg over 6 years ago

  • Status changed from New to In Progress
Actions #7

Updated by Tom Clegg over 6 years ago

Actions #8

Updated by Peter Amstutz over 6 years ago

So it turns out that you can specify a port when using a custom registry, e.g. "myregistry.io:8888/repo/image:tag"

Here's how cwltool does it:

            sp = dockerRequirement["dockerImageId"].split(":")
            if len(sp) == 1:
                sp.append("latest")
            elif len(sp) == 2:
                #  if sp[1] doesn't  match valid tag names, it is a part of repository
                if not re.match(r'[\w][\w.-]{0,127}', sp[1]):
                    sp[0] = sp[0] + ":" + sp[1]
                    sp[1] = "latest" 
            elif len(sp) == 3:
                if re.match(r'[\w][\w.-]{0,127}', sp[2]):
                    sp[0] = sp[0] + ":" + sp[1]
                    sp[1] = sp[2]
                    del sp[2]
            repository = sp[0]
            tag = sp[1]
Actions #9

Updated by Tom Clegg over 6 years ago

Updated & added tests for "host:port/repo/img:tag", "[::1]:port/repo/img", etc.

8333-docker-repo-tag @ 5832cd21b303fcffa4ff84390a046019274bc7cb

Actions #10

Updated by Peter Amstutz over 6 years ago

8333-docker-repo-tag LGTM

Actions #11

Updated by Anonymous over 6 years ago

  • Status changed from In Progress to Resolved

Applied in changeset arvados|commit:4b4a0917a967c0ec2dd7b72c9665e0859022f120.

Actions #12

Updated by Tom Clegg over 1 year ago

  • Related to Bug #19840: Gets confused by port numbers in docker image name added
Actions

Also available in: Atom PDF