Oleg Okunev
Oleg Okunev

Reputation: 21

artifactory do not pulling some layers of windows image

I want to use artifactory with offline clients. I had installed ws2016 and docker. I don't have the proxy on this machine.

and when I am trying to pull image - docker start download (for example iis:nanoserver) all layers except two. Client trying to download them directly from the internet. I find the reason - because there is in manifest strong URL to Microsoft or others resources in manifest) What will be the solution for this?

PS C:\Windows\system32> docker -l debug pull docker.artifactory.mydomain.com/microsoft/aci-helloworld:windows
windows: Pulling from microsoft/aci-helloworld
bce2fbc256ea: Retrying in 1 second
4a8c367fd46d: Retrying in 1 second
a8a90ba3a09e: Download complete
f694b71407bb: Download complete
1297730844f7: Download complete
757c0e11bc6f: Download complete
23daf900b85b: Download complete
4c4e4246add8: Download complete
739a2e484f2e: Download complete
726e0a195fd7: Download complete
8f617470c3a5: Download complete
1504687851f5: Download complete
dial tcp 23.64.230.126:443: connectex: No connection could be made because the target machine actively refused it.

docker version

Client:
 Version:      17.03.1-ee-3
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   3fcee33
 Built:        Thu Mar 30 19:31:22 2017
 OS/Arch:      windows/amd64

Server:
 Version:      17.03.1-ee-3
 API version:  1.27 (minimum version 1.24)
 Go version:   go1.7.5
 Git commit:   3fcee33
 Built:        Thu Mar 30 19:31:22 2017
 OS/Arch:      windows/amd64
 Experimental: false

manifest.json

"layers": [
      {
         "mediaType": "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip",
         "size": 252691002,
         "digest": "sha256:bce2fbc256ea437a87dadac2f69aabd25bed4f56255549090056c1131fad0277",
         "urls": [
            "https://go.microsoft.com/fwlink/?linkid=837858"
         ]
      },
      {
         "mediaType": "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip",
         "size": 141758132,
         "digest": "sha256:b0b5e40cb939a7befa4e01212d6f65f30022bbd04b5f15985b45ce9cfd3fcabc",
         "urls": [
            "https://go.microsoft.com/fwlink/?linkid=860052"
         ]

Upvotes: 2

Views: 1168

Answers (2)

ams abraham
ams abraham

Reputation: 1

  1. Right click your installed docker desktop
  2. click Docker engine
  3. Add comma "," near "experimental": true**,** #comma used to seperate the line
  4. Enter in to the new line add "allow-nondistributable-artifacts": ["localhost.com:5000"]

Mostly local host is nothing but your public or private ip

click apply&restart

Upvotes: 0

Roland Ma
Roland Ma

Reputation: 31

Found official solution with docker 17.6

Edit the daemon.json file add the follow line:

{
  "allow-nondistributable-artifacts": ["myregistrydomain.com:5000"]
}

When you push images to the registries in the list, their non-distributable layers will be pushed to the registry.

Upvotes: 3

Related Questions