docker / app

Make your Docker Compose applications reusable, and share them on Docker Hub
Apache License 2.0
1.57k stars 178 forks source link

Docker App configurations no longer stored locally for offline use #412

Open jhrabi opened 6 years ago

jhrabi commented 6 years ago

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:

  1. 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)
  2. Remove connectivity to Docker Hub (In my case, removed NAT connection from local VM).
  3. Run docker-app render jhrabi/helloworld.dockerapp:0.1.0 again

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

chris-crone commented 6 years ago

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.