DieterReuter / arm64-docker-builder

Compiling Docker on an ARM64 (or AARCH64) machine
MIT License
50 stars 14 forks source link

Error downloading dependent layers #1

Open shamiali2008 opened 9 years ago

shamiali2008 commented 9 years ago

Hi,

Many thanks for the arm64 docker compile instructions. I attempted to compile and run docker on a real ARM64 board running linux kernel 4.1.6 using docker 1.7.0-rc2.

I am getting errors, when I try to pull or run an arm64 base image, "Error pulling image (latest) from ericvh/arm64-ubuntu, operation not supported".

Please find the details below:

root@linaro-developer:/opt/docker_v1/docker# ./bundles/1.7.0-rc2/dynbinary/docker-1.7.0-rc2 version Client version: 1.7.0-rc2 Client API version: 1.19 Go version (client): go1.4.2 gccgo (Ubuntu 5.1~rc1-0ubuntu1) 5.0.1 20150414 (prerelease) [gcc-5-branch revision 222102] Git commit (client): 7ddecf7 OS/Arch (client): linux/arm64 DEBU[0295] Calling GET /version

INFO[0295] GET /v1.19/version

Server version: 1.7.0-rc2 Server API version: 1.19 Go version (server): go1.4.2 gccgo (Ubuntu 5.1~rc1-0ubuntu1) 5.0.1 20150414 (prerelease) [gcc-5-branch revision 222102] Git commit (server): 7ddecf7 OS/Arch (server): linux/arm64

This is how I start the docker daemon: ./bundles/1.7.0-rc2/dynbinary/docker-1.7.0-rc2 -d -D -s overlay &

And the pull request fails as below:

root@linaro-developer:/opt/docker_v1/docker# ./bundles/1.7.0-rc2/dynbinary/docker-1.7.0-rc2 -D pull ericvh/arm64-ubuntu DEBU[0135] Calling POST /images/create

INFO[0135] POST /v1.19/images/create?fromImage=ericvh%2Farm64-ubuntu%3Alatest DEBU[0135] pulling image from host "docker.io" with remote name "ericvh/arm64-ubuntu" DEBU[0135] pinging registry endpoint https://index.docker.io/v1/ DEBU[0135] attempting v1 ping for registry endpoint https://index.docker.io/v1/ DEBU[0135] pulling v2 repository with local name "ericvh/arm64-ubuntu" DEBU[0135] pinging registry endpoint https://registry-1.docker.io/v2/ DEBU[0135] attempting v2 ping for registry endpoint https://registry-1.docker.io/v2/ DEBU[0135] hostDir: /etc/docker/certs.d/registry-1.docker.io DEBU[0136] Getting authorization for ericvh/arm64-ubuntu [pull] DEBU[0136] Pulling tag from V2 registry: "latest"

DEBU[0136] [registry] Calling "GET" https://registry-1.docker.io/v2/ericvh/arm64-ubuntu/manifests/latest DEBU[0136] Getting bearer token with map[realm:https://auth.docker.io/token service:registry.docker.io] for

DEBU[0136] hostDir: /etc/docker/certs.d/auth.docker.io

DEBU[0136] hostDir: /etc/docker/certs.d/registry-1.docker.io DEBU[0137] image does not exist on v2 registry, falling back to v1 DEBU[0137] pulling v1 repository with local name "ericvh/arm64-ubuntu" DEBU[0137] [registry] Calling GET https://index.docker.io/v1/repositories/ericvh/arm64-ubuntu/images DEBU[0137] hostDir: /etc/docker/certs.d/index.docker.io Pulling repository ericvh/arm64-ubuntu DEBU[0137] Retrieving the tag list

DEBU[0137] hostDir: /etc/docker/certs.d/registry-1.docker.io DEBU[0138] Got status code 200 from https://registry-1.docker.io/v1/repositories/ericvh/arm64-ubuntu/tags DEBU[0138] Registering tags

b1ceea5d197a: Pulling image (latest) from ericvh/arm64-ubuntu, endpoint: https://registry-1.docker.io/v1/ DEBU[0138] Ancestry: [b1ceea5d197aea86d8a41dc406d6b9a8819bdfd6009110cd3ee0239da7d76307 c5df03a0ea6e66f3476f244a2daf010fb1c6da43af5ac93e58df569ff9d12235 3bf1beb8995f3eafc67b167d28067c1fff4a122d8fbe7d70d4df63865ff173bc 5b612bb8dbd790e7ca2caf82685b3b6366396d7b160dbdf66c9d28c48427fbbd bf1ed9a61f29bedb5c05ce757307df8ac5e2245150725836e687b1d04343711d 89e088554a86080184ef0333535a869d9475b45947b9b67adcc197f70e7fd554 cac8f8146dea5b74772c9610e5606f290a62eb58d46049712aabd7b507b9aca4 a75b0c4b5d9305f4bb7666297cf64730705c1124cb76bc94a56de488ddefaa2e 834d9d5b569ff99aa52760309493e944a4be72bc22a5037469a6acf31792d3de 8e162dfbb1ceea5d197a: Pulling dependent layers DEBU[0138] hostDir: /etc/docker/certs.d/registry-1.docker.io 8e162dfbd0e0: Pulling metadata b1ceea5d197a: Error pulling image (latest) from ericvh/arm64-ubuntu, operation not supported DEBU[0139] hostDir: /etc/docker/certs.d/dseasb33srnrn.cloudfront.net 8e162dfbd0e0: Error downloading dependent layers Error pulling image (latest) from ericvh/arm64-ubuntu, operation not supported

Not sure what went wrong. Any pointers highly appreciated.

Also I tried to compile the 1.8.0 release, but the compile fails with the below errors: vendor/src/github.com/opencontainers/runc/libcontainer/seccomp/filter.go:93:3: error: reference to undefined name ‘jumpEqualTo’ jumpEqualTo(f, v, jf) ^ vendor/src/github.com/opencontainers/runc/libcontainer/seccomp/filter.go:95:3: error: reference to undefined name ‘jumpNotEqualTo’ jumpNotEqualTo(f, v, jf) ^ vendor/src/github.com/opencontainers/runc/libcontainer/seccomp/filter.go:97:3: error: reference to undefined name ‘jumpGreaterThan’ jumpGreaterThan(f, v, jf) ^ vendor/src/github.com/opencontainers/runc/libcontainer/seccomp/filter.go:99:3: error: reference to undefined name ‘jumpLessThan’ jumpLessThan(f, v, jf) ^ vendor/src/github.com/opencontainers/runc/libcontainer/seccomp/filter.go:101:3: error: reference to undefined name ‘jumpMaskEqualTo’ jumpMaskEqualTo(f, v, jf)

Just wondering the ARM64 support is broken from 1.8.0 onwards or not!.

Many thanks, Shameer

DieterReuter commented 9 years ago

I think there are indeed some problems with compiling on ARM32 and ARM64. For Docker 1.8.2/1.8.3 we added a small patch to get it compiled on ARM32. Maybe you could try it on your system: https://github.com/hypriot/rpi-docker-builder/blob/master/builder.sh#L61-L64

BTW, what hardware are you using actually? I'm interested in testing it on a real ARM64 system by myself, but don't know which hardware to select right now.

shamiali2008 commented 9 years ago

Thanks for your quick reply. I will try out your patch on 1.8.x version. I am using a development board my company is working on. Its a proto at the moment. I will let you know the details once we make it public.

Also from the logs any idea why the 1.7.0-rc2 fails to pull the base image? Have you tried it on your Qemu/virtual setup?

DieterReuter commented 9 years ago

As far as I remember, we had some strange problems with 1.7.0 and the 1.7.0rc's as well. Fix was implemented with 1.7.1, so please use 1.7.1! see https://github.com/docker/docker/issues/14184

DieterReuter commented 9 years ago

@shamiali2008 for details on your hardware, we should switch conversation to email, dieter.reuter@me.com. Thanks.

shamiali2008 commented 9 years ago

I managed to run v1.8.3 on our ARM64 board. The issue was that I was trying to run from a NFS mounted rootfs. Changed that to a SAS -ext4 rootfs and problem solved.

DieterReuter commented 9 years ago

Great! Could you contact me via email please?