failed to register layer: re-exec error: exit status 1: output: ProcessUtilityVMImage [duplicate] - docker-registry

This question already has an answer here:
Can't pull image from docker, ProcessUtilityVMImage cannot find the path specified
(1 answer)
Closed 1 year ago.
I have a private docker registry on Windows Server 2016 Datacenter and from local machine (Windows 10 Pro) I pushed few images to it. When I try to pull image from server it starts pulling and later throws an error
failed to register layer: re-exec error: exit status 1: output: ProcessUtilityVMImage \?\C:\ProgramData\docker\windowsfilter\f9613d03a4fae39c0cebca07bc51aef2931756f5e674cda8f6b78729ba5ebac8\UtilityVM: The system cannot find the path specified.
I used following image and steps to start a registry https://hub.docker.com/r/stefanscherer/registry-windows/
I tested with hello-world image, pushed it from local machine and pulled it from server, it worked.
But, I am unable pull images like microsoft/wcf, microsoft/iis which are base images to my local built images.
Other way around, if I already have microsoft/wcf image on my server (which is base image for my locally built image), when pulling the locally built image why it goes to pull microsoft/wcf again. Is there any way I can use server's wcf image?
docker verion
Client:
Version: 17.06.2-ee-13
API version: 1.30
Go version: go1.8.7
Git commit: ac44d73
Built: Mon Jun 4 16:46:59 2018
OS/Arch: windows/amd64
Server:
Engine:
Version: 17.06.2-ee-13
API version: 1.30 (minimum version 1.24)
Go version: go1.8.7
Git commit: ac44d73
Built: Mon Jun 4 16:58:47 2018
OS/Arch: windows/amd64
Experimental: true

Following links are helpful to resolve this issue:
https://github.com/docker/for-win/issues/2119
Can't pull image from docker, ProcessUtilityVMImage cannot find the path specified

Related

Docker push incredibly slow to google registry

I have Google Instance and a Google Docker Registry configured.
Things where working quite smoothly and suddenly when I try to push to the
registry, it became practically unusable because of the speed.
$ docker push gcr.io/<ID>/my-registry/image:44]
The push refers to a repository [gcr.io/<ID>/my-registry/image:44]
3bc2db43a686: Pushing [=======> ] 3.409MB/23.32MB
1302d8ee9a47: Layer already exists
29d71372a492: Layer already exists
And if I measure the bandwidth of the docker push I get
NetHogs version 0.8.1
PID USER PROGRAM DEV SENT RECEIVED
1521 root /usr/bin/dockerd ens4 24.183 0.458 KB/sec
But my actual connection to the internet is good enough.
$ speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Google Cloud (x.x.x.x)...
Selecting best server based on latency...
Hosted by KamaTera INC (Santa Clara, CA) [10.61 km]: 20.436 ms
Testing download speed........................................
Download: 2046.49 Mbit/s
Testing upload speed..................................................
Upload: 114.68 Mbit/s
I tried restarting the docker daemon and nothing.
This are the tools I am using
$ docker version
Client:
Version: 17.09.0-ce
API version: 1.32
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:42:18 2017
OS/Arch: linux/amd64
Server:
Version: 17.09.0-ce
API version: 1.32 (minimum version 1.12)
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:40:56 2017
OS/Arch: linux/amd64
Experimental: false
$ gcloud version
Google Cloud SDK 176.0.0
alpha 2017.10.13
beta 2017.10.13
bq 2.0.27
core 2017.10.13
gsutil 4.27
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
Any idea what could be the problem?
Use gcloud builds submit instead of docker push
Docs: https://cloud.google.com/sdk/gcloud/reference/builds/submit
I tried using docker push to get images to GCR, but it was incredibly slow and would eventually grind to a halt. I then started using GCE instances to docker push from, which was very fast. Later, I stumbled upon gcloud builds submit. It runs fast locally for me.

docker: failed to register layer: re-exec error: exit status 1: output: ProcessBaseLayer . The system cannot find the path specified

Am trying to pull an image from docker hub.
docker pull zuehlke/shiny
And am facing below error:
docker: failed to register layer: re-exec error: exit status 1: output: ProcessBaseLayer C:\ProgramData\Docker\windowsfilter\d2dab1878cf591d869d33aa2c4cd410cd92614a44c776041c506fc765c1a98f1: The system cannot find the path specified.
Am having Docker for Windows:
docker version
Client:
Version: 17.09.0-ce
API version: 1.32
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:40:09 2017
OS/Arch: windows/amd64
Server:
Version: 17.09.0-ce
API version: 1.32 (minimum version 1.24)
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:50:27 2017
OS/Arch: windows/amd64
Experimental: true
Thanks in Advance
You have selected Windows Containers at the time of setup rather than Linux Containers so only Windows-based images will run. To resolve this, right-click the tray icon and select 'Switch to Linux Containers' and it will start working.
you must activate the virtualization service.
you must use this command taskmgr and click performance on windows to verify if it is activated :

HNS failed with error : The parameter is incorrect

I am making a docker containerized application using visual studio 2017.
When running docker through visual studio first, I got an error that "ERROR: client version 1.22 is too old".
This error was resolved by updating docker compose to version 2.1
Below link contains further instruction about this specific error
ERROR: client version 1.22 is too old
After this error was resolved ,On Building docker now I get "HNS failed with error : The parameter is incorrect."
From multiple github discussion I have found that it is a windows network error.
Is there a solution to this problem ?
Should I down grade docker version or install something else.
I am using windows container.
On running docker version
Client:
Version: 17.06.0-ce
API version: 1.30
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 21:30:30 2017
OS/Arch: windows/amd64
Server:
Version: 17.06.0-ce
API version: 1.30 (minimum version 1.24)
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 22:19:00 2017
OS/Arch: windows/amd64
Experimental: true
Edit:
If I switch to linux container this problem is solved.
But another issue occurs drive is not shared.
After sharing d: drive drive sharing issue still occurs.
How can I resolve linux container drive sharing issue.
I want to use windows container locally so that I can deploy this app on azure.
This is a known limitation. At present windows only supports one NAT network. Removing Netnat by invoke Remove-Netnat is not supported.
Run this in powerhell.
Get-NetNat | Remove-NetNat
To prevent docker-compose from creating a new default network you can use the existing one by specifying it in docker-compose.yml:
networks:
default:
external:
name: nat
To check for existing networks execute
docker network ls
Open the powershell(X64) in admin mode
Execute below command
Get-NetNat
If it returns something like this
Then run below command in powershell
Remove-NetNat

docker private registry change from v1 to v2 while pulling an image

There is a docker is registry v2.
An image is pushed to docker private registry. Able to see it using curl command:
$ curl -s -X GET http://<registry>:<port>/v2/<image>/tags/list
{"name":"<image>","tags":["latest"]}
However, not able to pull the image from other machines. It appears that it is trying to pull from v1 instead of v2
Pulling the above image on a windows 10 machine.
docker pull <registry>:<port>/<image>:latest
Getting the following error:
Pulling repository <registry>:<port>/<image>
Network timed out while trying to connect to
http://<registry>:<port>/v1/repositories/<image>/images.
You may want to check your internet connection or if you are behind a proxy.
Not using any proxy settings.
Here is version details
Client:
Version: 17.03.1-ce
API version: 1.27
Go version: go1.7.5
Git commit: c6d412e
Built: Tue Mar 28 00:40:02 2017
OS/Arch: windows/amd64
Server:
Version: 17.03.1-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.7.5
Git commit: c6d412e
Built: Fri Mar 24 00:00:50 2017
OS/Arch: linux/amd64
Experimental: true
Could not found any docker settings for changing from v1 to v2.
How do I make it to pull from v2 / resolve the above error?
EDIT: log shows
ICMP Destination Unreachable: Destination port unreachable

Can't get Docker image after windows installation

I just installed docker on my windows 10 server,
Installation went fine but I can't seem to get images from central docker repo.
those are my specs:
c:\>docker version
Client:
Version: 1.13.0
API version: 1.25
Go version: go1.7.3
Git commit: 49bf474
Built: Wed Jan 18 16:20:26 2017
OS/Arch: windows/amd64
Server:
Version: 1.13.0
API version: 1.25 (minimum version 1.12)
Go version: go1.7.3
Git commit: 49bf474
Built: Wed Jan 18 16:20:26 2017
OS/Arch: linux/amd64
Experimental: true
This is my test command:
c:\>docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: remote error: tls: access denied.
See 'docker run --help'.
This is what I get when running curl on that repo:
c:\>curl -k https://registry-1.docker.io/v2/
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}
I guess that there is something to do with my company DNS/Network,
did anyone encounter this issue on windows?
You need to set your proxy env variables.
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://username:password#proxy:port/", [EnvironmentVariableTarget]::Machine)
Restart-Service docker
Check this for reference: https://learn.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon
And more common:
https://docs.docker.com/engine/admin/systemd/#http-proxy
As I replied to #Falco Alexander I got some PowerShell errors, But The proxy was already set in my env. variables.
What finally did the trick was to set the proxy inside the docker GUI:
And then restart the service.

Resources