alexellis / docker-arm

Build Docker and Swarm on an ARM SoC like the Raspberry Pi
GNU General Public License v3.0
875 stars 100 forks source link

Build Docker CE 17.07 for Stretch #13

Open alexellis opened 7 years ago

alexellis commented 7 years ago

We need to build and test Docker for the new Raspbian Stretch OS for Raspberry Pi:

Stretch:

https://www.raspberrypi.org/downloads/raspbian/

Docker CE packaging repo:

https://github.com/docker/docker-ce-packaging

Git clone, and make deb

jcberthon commented 7 years ago

With make deb for each Ubuntu variant I get this after building the Ubuntu image (here an example with Ubuntu Xenial, but applies to other as well):

Successfully tagged debbuild-ubuntu-xenial/armv7l:latest
docker run --rm -i \
    -e VERSION=unknown \
    -e DOCKER_GITCOMMIT= \
    -v /home/ubipi/Projects/docker-arm/docker-ce-packaging/deb/debbuild/ubuntu-xenial:/build \
    -v /home/ubipi/Projects/docker-arm/docker-ce-packaging/../engine:/engine \
    -v /home/ubipi/Projects/docker-arm/docker-ce-packaging/../cli:/cli \
    -v /home/ubipi/Projects/docker-arm/docker-ce-packaging/deb/systemd:/root/build-deb/systemd \
    debbuild-ubuntu-xenial/armv7l
+ set -e
+ cd engine
+ TMP_GOPATH=/go
+ bash hack/dockerfile/install-binaries.sh runc-dynamic containerd-dynamic proxy-dynamic tini
bash: hack/dockerfile/install-binaries.sh: No such file or directory
Makefile:29: recipe for target 'ubuntu-xenial' failed
make[1]: *** [ubuntu-xenial] Error 127

I only cloned the repo mentionned in this issue. Am I missing an obvious step? I guess as I do not have the ../cli and ../engine folder!

alexellis commented 7 years ago

I wonder if there is a build target for xenial.. can you see one in the packaging-ce repo?

jcberthon commented 7 years ago

I can see one here: https://github.com/docker/docker-ce-packaging/blob/master/deb/ubuntu-xenial/Dockerfile.armv7l

But when I see the docker run ... command and if I check the paths (e.g. /home/ubipi/Projects/docker-arm/docker-ce-packaging/../engine) I did not checkout these projects, so the path are not existing.

I've did a quick check around and possibly I need to clone the docker/cli repository, but shall I clone the moby/moby as folder engine?

What I did is:

$ mkdir ~/Projects/docker-arm
$ cd ~/Projects/docker-arm
$ git clone https://github.com/docker/docker-ce-packaging.git
$ cd docker-ce-packaging
$ make deb

So of course my folder Projects/docker-arm only contains docker-ce-packaging and I'm missing at least engine and cli. But I did not find any resource pointing to what I need to clone in order to build the Docker CE packages using the docker-ce-packaging project.

thyrlian commented 7 years ago

HW: Raspberry Pi 2

OS: Raspbian Stretch with Desktop (2017-08-16) Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU/Linux

Logs:

for p in ubuntu-zesty ubuntu-xenial ubuntu-trusty debian-stretch debian-wheezy debian-jessie raspbian-stretch raspbian-jessie; do \
    make -C deb VERSION=unknown ENGINE_DIR=/home/pi/workspace/docker-ce-packaging/../engine CLI_DIR=/home/pi/workspace/docker-ce-packaging/../cli ${p}; \
done
make[1]: Entering directory '/home/pi/workspace/docker-ce-packaging/deb'
/bin/bash: line 0: cd: /home/pi/workspace/docker-ce-packaging/../engine: No such file or directory
docker build -t debbuild-ubuntu-zesty/armv7l -f /home/pi/workspace/docker-ce-packaging/deb/ubuntu-zesty/Dockerfile.armv7l .
/bin/bash: docker: command not found
Makefile:53: recipe for target 'ubuntu-zesty' failed
make[1]: *** [ubuntu-zesty] Error 127
make[1]: Leaving directory '/home/pi/workspace/docker-ce-packaging/deb'
make[1]: Entering directory '/home/pi/workspace/docker-ce-packaging/deb'
/bin/bash: line 0: cd: /home/pi/workspace/docker-ce-packaging/../engine: No such file or directory
docker build -t debbuild-ubuntu-xenial/armv7l -f /home/pi/workspace/docker-ce-packaging/deb/ubuntu-xenial/Dockerfile.armv7l .
/bin/bash: docker: command not found
Makefile:29: recipe for target 'ubuntu-xenial' failed
make[1]: *** [ubuntu-xenial] Error 127
make[1]: Leaving directory '/home/pi/workspace/docker-ce-packaging/deb'
make[1]: Entering directory '/home/pi/workspace/docker-ce-packaging/deb'
/bin/bash: line 0: cd: /home/pi/workspace/docker-ce-packaging/../engine: No such file or directory
docker build -t debbuild-ubuntu-trusty/armv7l -f /home/pi/workspace/docker-ce-packaging/deb/ubuntu-trusty/Dockerfile.armv7l .
/bin/bash: docker: command not found
Makefile:41: recipe for target 'ubuntu-trusty' failed
make[1]: *** [ubuntu-trusty] Error 127
make[1]: Leaving directory '/home/pi/workspace/docker-ce-packaging/deb'
make[1]: Entering directory '/home/pi/workspace/docker-ce-packaging/deb'
/bin/bash: line 0: cd: /home/pi/workspace/docker-ce-packaging/../engine: No such file or directory
docker build -t debbuild-debian-stretch/armv7l -f /home/pi/workspace/docker-ce-packaging/deb/debian-stretch/Dockerfile.armv7l .
/bin/bash: docker: command not found
Makefile:77: recipe for target 'debian-stretch' failed
make[1]: *** [debian-stretch] Error 127
make[1]: Leaving directory '/home/pi/workspace/docker-ce-packaging/deb'
make[1]: Entering directory '/home/pi/workspace/docker-ce-packaging/deb'
/bin/bash: line 0: cd: /home/pi/workspace/docker-ce-packaging/../engine: No such file or directory
docker build -t debbuild-debian-wheezy/armv7l -f /home/pi/workspace/docker-ce-packaging/deb/debian-wheezy/Dockerfile.armv7l .
/bin/bash: docker: command not found
Makefile:89: recipe for target 'debian-wheezy' failed
make[1]: *** [debian-wheezy] Error 127
make[1]: Leaving directory '/home/pi/workspace/docker-ce-packaging/deb'
make[1]: Entering directory '/home/pi/workspace/docker-ce-packaging/deb'
/bin/bash: line 0: cd: /home/pi/workspace/docker-ce-packaging/../engine: No such file or directory
docker build -t debbuild-debian-jessie/armv7l -f /home/pi/workspace/docker-ce-packaging/deb/debian-jessie/Dockerfile.armv7l .
/bin/bash: docker: command not found
Makefile:65: recipe for target 'debian-jessie' failed
make[1]: *** [debian-jessie] Error 127
make[1]: Leaving directory '/home/pi/workspace/docker-ce-packaging/deb'
make[1]: Entering directory '/home/pi/workspace/docker-ce-packaging/deb'
/bin/bash: line 0: cd: /home/pi/workspace/docker-ce-packaging/../engine: No such file or directory
docker build -t debbuild-raspbian-stretch/armv7l -f /home/pi/workspace/docker-ce-packaging/deb/raspbian-stretch/Dockerfile.armv7l .
/bin/bash: docker: command not found
Makefile:113: recipe for target 'raspbian-stretch' failed
make[1]: *** [raspbian-stretch] Error 127
make[1]: Leaving directory '/home/pi/workspace/docker-ce-packaging/deb'
make[1]: Entering directory '/home/pi/workspace/docker-ce-packaging/deb'
/bin/bash: line 0: cd: /home/pi/workspace/docker-ce-packaging/../engine: No such file or directory
docker build -t debbuild-raspbian-jessie/armv7l -f /home/pi/workspace/docker-ce-packaging/deb/raspbian-jessie/Dockerfile.armv7l .
/bin/bash: docker: command not found
Makefile:101: recipe for target 'raspbian-jessie' failed
make[1]: *** [raspbian-jessie] Error 127
make[1]: Leaving directory '/home/pi/workspace/docker-ce-packaging/deb'
Makefile:25: recipe for target 'deb' failed
make: *** [deb] Error 2

Basically could not find engine or docker.