KenntWas.de – Technische Tipps

Technische Informationen zu Linux, (Oracle-) Datenbanken und mehr

raspi2: docker-compose (aka fig) installieren

| 2 Comments

docker-compose auf dem raspberry pi

docker-compose auf dem raspberry pi(2)
Für meine ersten Experimente mit dem Docker-Image von Hyperiot fehlt mir noch docker-compose (aka fig).  Hier eine kleine Anleitung, wie man es auf den raspberry pi2 zum Laufen bekommt.

docker-compose verbindet mehrere Container zu einem Service (z.B. eine WEB-Applikation mit einer Datenbank). Diese können dann zusammen gestartet werden.

Leider sind die verfügbaren binaries nicht für den Raspberry pi2 (ARM/V7) geeignet.

https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m`
https://github.com/docker/compose/releases/download/1.1.0/docker-compose-Linuxarmv7l
file not found

Update [30.3.2015]: fertige Version

Fertige Version

Stefan Scherer hat mich in den Kommentaren darauf aufmerksam gemacht, dass es eine fertige Version von docker-compose für den raspberry pi gibt:

curl -L https://github.com/hypriot/compose/releases/download/1.1.0-raspbian/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose &&
chmod +x /usr/local/bin/docker-compose


Den Rest des Artikels braucht ihr dann nicht.

docker-compose von Source installieren

python installieren

Wir brauchen python und pip.

aptitude install python python-pip

docker-compose aus-checken

Jetzt müssen wir docker-compose auschecken.

mkdir -p ~/projects/docker/docker-compose &&
cd !$ &&
git clone https://github.com/docker/compose.git # mit git aus-checken

Versionsprobleme

Update (24.03.2015): Leider gibt es ein Versionsproblem: die aktuelle Version (1.10) von docker-compose verwendet schon die Client-API-Version 1.18 (Docker >= 1.6) .

$ docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.2
Git commit (client): a8a31ef
OS/Arch (client): linux/arm
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.2
Git commit (server): a8a31ef

Daher verwende ich docker-compose 1.0.0:

mkdir -p ~/projects/docker/docker-compose &&
cd compose
git checkout 1.0.0
rm -rf build               # cleanup  build dir

pip install .

In Version 1.0.0 heißt das Programm noch fig (und nicht docker-compose)!!!

$ fig –version
fig 1.0.0

 

Hilfe zu docker-compose

HypriotOS: root@rpi2.local in /data2/projects/docker/docker-compose
$ docker-compose --help
Fast, isolated development environments using Docker.

Usage:
docker-compose [options] [COMMAND] [ARGS...]
docker-compose -h|--help

Options:
--verbose                 Show more output
--version                 Print version and exit
-f, --file FILE           Specify an alternate compose file (default: docker-compose.yml)
-p, --project-name NAME   Specify an alternate project name (default: directory name)

Commands:
build     Build or rebuild services
help      Get help on a command
kill      Kill containers
logs      View output from containers
port      Print the public port for a port binding
ps        List containers
pull      Pulls service images
rm        Remove stopped containers
run       Run a one-off command
scale     Set number of containers for a service
start     Start services
stop      Stop services
restart   Restart services
up        Create and start containers

2 Comments

  1. Ein schöner Artikel. Docker Compose nutze ich auch seit Kurzem für verteilte Anwendungen. Eine fertiges Binary für den Raspberry gibt es im Fork https://github.com/hypriot/compose/releases

  2. Oh, das wußte ich nicht. Vielleicht nehmt ihr es ja in das nächste Release mit auf.

Leave a Reply

Required fields are marked *.