You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Qian Zhang (JIRA)" <ji...@apache.org> on 2019/04/11 07:25:00 UTC

[jira] [Commented] (MESOS-9703) Support docker manifest v2s2 external urls.

    [ https://issues.apache.org/jira/browse/MESOS-9703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16815145#comment-16815145 ] 

Qian Zhang commented on MESOS-9703:
-----------------------------------

Currently in Docker the external URLs is only supported on Windows but not other OS, see [this PR|https://github.com/moby/moby/pull/22866] for details. And I see there is [another PR|https://github.com/moby/moby/pull/23014] tried to support external URLs for other OS, but that PR was closed somehow.

In the [`open` method of pull_v2_windows.go|https://github.com/moby/moby/blob/67fdf574d5acd6ddccb6ece0ffe0ace1c1608712/distribution/pull_v2_windows.go#L25:L57], we can see Docker tries layer's digest first, but if it is not accessible from registry, then it tries the external URLs one by one until an external URL is accessible. But in the [`open` method of pull_v2_unix.go|https://github.com/moby/moby/blob/05bd04350b8348b3c3bbe3156420257313e4e804/distribution/pull_v2_unix.go#L16:L19], only layer's digest will be tried. So external URLs is only used on Window but ignored on Unix-like OS.

> Support docker manifest v2s2 external urls.
> -------------------------------------------
>
>                 Key: MESOS-9703
>                 URL: https://issues.apache.org/jira/browse/MESOS-9703
>             Project: Mesos
>          Issue Type: Improvement
>          Components: containerization
>            Reporter: Gilbert Song
>            Assignee: Qian Zhang
>            Priority: Major
>              Labels: containerization
>
> docker manifest v2s2 spec define external URLs. Some windows image rely on those urls to download some private layers from microsoft server.
> Some refactoring may be needed to get rid of the current external urls support because the uri fetcher has to parse the manifest when pulling every layer (see the patches of MESOS-9159 for details).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)