Service create: Connection refused by private repo

Setting up my first swarm I’m trying to create a service. I found I needed a private repository so I used docs.docker.com/registry/ to do that. I pushed my image to it and I can run it successfully using ‘docker run’. When I attempt to create a service it fails with
"Not continuing with pull after error: Error while pulling image: Get http ://localhost:5000/v1/repositories/workflow-headless/images: dial tcp 127.0.0.1:5000: getsockopt: connection refused"

I did login to docker before running the service create command. I also experimented with adding an insecure-registries entry into /etc/docker/daemon.json as described in github.com/docker/distribution/issues/1874 which didn’t make any difference.

I missed a step somewhere. My repo can serve a ‘docker run’ but not a ‘service create’.
Anyone know what I missed?
This is all on my laptop. Docker info gives me:
Containers: 43
Running: 0
Paused: 0
Stopped: 43
Images: 107
Server Version: 1.12.6
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 221
Dirperm1 Supported: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: overlay host null bridge
Swarm: active
NodeID: 4981nye4j3q257d7n5t9yukbg
Is Manager: true
ClusterID: 9gvh6djmyv18o34xbudeiyznv
Managers: 1
Nodes: 1
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Heartbeat Tick: 1
Election Tick: 3
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Node Address: 192.168.1.64
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 3.13.0-107-generic
Operating System: Ubuntu 14.04.5 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.6 GiB
Name: benedict
ID: GGAN:HUSA:PLIT:U34Q:2OQQ:XPSC:UXWE:RW5T:3732:GJC4:ZFJO:RCWK
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: rogerparkinson
Registry: https ://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
127.0.0.0/8

Here’s more of the docker log:
time=“2017-01-18T10:55:01.448184829+13:00” level=warning msg="Error getting v2 registry: Get https ://localhost:5000/v2/: dial tcp 127.0.0.1:5000: getsockopt: connection refused"
time=“2017-01-18T10:55:01.448266839+13:00” level=error msg="Attempting next endpoint for pull after error: Get https ://localhost:5000/v2/: dial tcp 127.0.0.1:5000: getsockopt: connection refused"
time=“2017-01-18T10:55:01.448852777+13:00” level=warning msg="Error getting v2 registry: Get http ://localhost:5000/v2/: dial tcp 127.0.0.1:5000: getsockopt: connection refused"
time=“2017-01-18T10:55:01.448891500+13:00” level=error msg="Attempting next endpoint for pull after error: Get http ://localhost:5000/v2/: dial tcp 127.0.0.1:5000: getsockopt: connection refused"
time=“2017-01-18T10:55:01.449211297+13:00” level=error msg="Attempting next endpoint for pull after error: Get https ://localhost:5000/v1/_ping: dial tcp 127.0.0.1:5000: getsockopt: connection refused"
time=“2017-01-18T10:55:01.459935099+13:00” level=error msg=“Not continuing with pull after error: Error while pulling image: Get http ://localhost:5000/v1/repositories/workflow-headless/images: dial tcp 127.0.0.1:5000: getsockopt: connection refused”

Here’s my full service create command:
docker service create --with-registry-auth --name=workflow-headless --network madura-network --mount type=bind,src=/home/roger/madura-workflows/madura-workflows/madura-workflow-impl/bundles,dst=/bundles -e workflow.bundles.dir=/bundles,readonly localhost:5000/workflow-headless:latest

The docker run command (which works) is:
docker run -v /home/roger/madura-workflows/madura-workflows/madura-workflow-impl/bundles:/bundles --env-file ./env.list -it --rm localhost:5000/workflow-headless:latest
(yes, I’m giving it more env variables than the service create, but that shouldn’t be relevant to this problem)

I changed the http and https to add a space to get past the ‘only two links’ restriction
Thanks for any help