moby: docker stack deploy does not pull images from private registry on 17.03.0-ce-mac1
Description
I use “docker stack deploy -c deploy.yaml test” to deploy set of containers. All is working fine before. But after upgrading to 17.0.3.0-ce-mac1, docker would not pull the images that are in my private registry. So all services replied on private images failed with “No such image”. While the ones relying on public images are working fine.
Steps to reproduce the issue:
- Have a private registry to host some docker images.
- Define a docker compose file of containers using private images.
- run docker stack deploy
Describe the results you received: The services replying on private images failed to start because of image not found.
Describe the results you expected: All services deployed correctly
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version
:
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 60ccb22
Built: Thu Feb 23 10:40:59 2017
OS/Arch: darwin/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Experimental: true
Output of docker info
:
Containers: 4
Running: 4
Paused: 0
Stopped: 0
Images: 4
Server Version: 17.03.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Swarm: active
NodeID: 3fbs8nc8dr3qil5519touhj1l
Is Manager: true
ClusterID: tw5nbfyhim0dqccz3ioofh829
Managers: 1
Nodes: 1
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Number of Old Snapshots to Retain: 0
Heartbeat Tick: 1
Election Tick: 3
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Node Address: 192.168.65.2
Manager Addresses:
192.168.65.2:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 977c511eda0925a723debdc94d09459af49d082a
runc version: a01dafd48bc1c7cc12bdb01206f9fea7dd6feb70
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.12-moby
Operating System: Alpine Linux v3.5
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 3.855 GiB
Name: moby
ID: MV2W:LPMG:LE4Z:IC7P:53WM:LZDD:Q77E:JDHR:GELH:3W7O:5SKV:JWYI
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 75
Goroutines: 213
System Time: 2017-03-03T23:01:05.213716496Z
EventsListeners: 5
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Additional environment details (AWS, VirtualBox, physical, etc.): Docker On Mac
About this issue
- Original URL
- State: open
- Created 7 years ago
- Reactions: 38
- Comments: 62 (9 by maintainers)
Had a similar issue on 1.13.0, but it’s working if I add --with-registry-auth at the end of the “docker stack deploy” command.
would it make sense to make
--with-registry-auth
a default todocker stack deploy
, I mean under which scenario we don’t want the workers/managers to not have the creds?I’ve been running production swarms for over 2 years (that is probably more than 6 docker engine version upgrades) and have had no problem at all, this is my sweet spot
Broken again in 17.09.0-ce specifying --with-registry-auth no longer working. I’ve tried with and without and receive the error “No such image …”.
Client: Version: 17.09.0-ce API version: 1.32 Go version: go1.8.3 Git commit: afdb6d4 Built: Tue Sep 26 22:41:23 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:42:49 2017 OS/Arch: linux/amd64 Experimental: false
Looks like fixed in 17.06.0
I’m seeing what I believe is the same problem on a cloud formation deployed swarm cluster on AWS. I have:
When i do docker stack ps, I see:
I got past this with:
Yes @soar you are correct. I just found that you have to specify --with-registry-auth to make it work with docker stack command in 17.06.0
Still see this issue With versions 17.10 & 18.06 --with-registry-auth does not work Pulling locally from these workers work config.json authes looks ok with “https://” prefix
Working for me only with –with-registry-auth even in a just_one_manager_node.
You need to be logged in (docker login) or it fails silently. I’m not sure if intended behaviour or not, as the documentation doesn’t mention.
This did work for me with the following version. Had to use –with-registry-auth though.
~ $ 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:39:28 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:45:38 2017 OS/Arch: linux/amd64 Experimental: true
Same problem here with docker running on CentOS
Same issue with:
Tried with
--with-registry-auth
and without - same problem. Butdocker service create ... --with-registry-auth
works perfectly with same repository. Official Docker Hub account used with official Hub Registry.+1 I’m able to reproduce it too!
That looks to be the Red Hat fork of Docker, which has many changes in this area (and I’ve seen bugs reported that were caused by those changes); might be best to open a ticket in the Red Hat or CentOS issue tracker
worked with
18.03.0-ce
I have the same problem with Docker for Mac version 17.06.0-rc4-ce-mac15 (18357). –with-registry-auth allows the images to be pulled.
I have reproduced this on a deployed swarm cluster on azure as well.
Docker version 17.03.0-ce, build 60ccb22
using
--with-registry-auth
did not work.Hi, after I upgrade to Version 17.03.0-ce-mac2 (15654), I still see the same issues I original reported. And even the workaround not work anymore.
I have done a diagnostics, 17455168-32A4-4D0F-A89D-08DD2199CF95