Docker App configurations no longer stored locally for offline use
Description
Since 0.5.0, the way that Docker App stores files pulled from a registry has been modified. This has resulted in the consequence that docker-app render can no longer functions offline. Prior to 0.5.0, the docker-app files were stored in the locally on docker as an image, so it could work in offline mode. We need an ability for these files to be cached locally as they were in 0.4.1
Steps to reproduce the issue:
- Run
docker-app render jhrabi/helloworld.dockerapp:0.1.0- assuming default docker repo is set to Docker Hub (Based upon https://github.com/jhrabi/docker-app-helloworld) - Remove connectivity to Docker Hub (In my case, removed NAT connection from local VM).
- Run
docker-app render jhrabi/helloworld.dockerapp:0.1.0again
Describe the results you received: (With internet connectivity - first run)
docker-app render jhrabi/helloworld.dockerapp:0.1.0
version: "3.5"
services:
hello-world:
image: hello-world
(Without internet connectivity - second run)
docker-app render jhrabi/helloworld.dockerapp:0.1.0
Error: cannot locate application "jhrabi/helloworld.dockerapp:0.1.0" in filesystem or registry: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 192.168.96.1:53: read udp 192.168.96.128:47587->192.168.96.1:53: read: connection refused
Describe the results you expected: (Without internet connectivity - second run)
docker-app render jhrabi/helloworld.dockerapp:0.1.0
version: "3.5"
services:
hello-world:
image: hello-world
Additional information you deem important (e.g. issue happens only occasionally): This functionality worked in 0.4.1, when docker images were being stored as local docker images.
Output of docker version:
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:23:03 2018
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:25:29 2018
OS/Arch: linux/amd64
Experimental: false
Output of docker-app version:
Version: v0.6.0
Git commit: 9f9c6680
Built: Thu Oct 4 13:30:33 2018
OS/Arch: linux/amd64
Experimental: off
Renderers: none
Output of docker info:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 2
Server Version: 18.06.1-ce
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-862.14.4.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 9.607GiB
Name: testserver
ID: I7SC:WGNH:TT7Q:SCNV:TSOM:4EU3:I57O:XWHA:HZYK:JNHY:VDZU:DAA4
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Additional environment details (AWS, VirtualBox, physical, etc.): Running on VMWare Workstation 12
Thanks for the report @jhrabi. This was as a result of us manually creating the application package images in docker/app so that they work on Windows.
We will fix this but I unfortunately don't have an ETA yet.