-
Notifications
You must be signed in to change notification settings - Fork 10
compose
Kev++ edited this page Apr 7, 2017
·
39 revisions
SEE ALSO: https://github.com/vimagick/dockerfiles/tree/master/docker-compose-arm
# AlarmPi
pacman -S --needed --noconfirm base-devel python
# Raspbian
apt-get install -y python3-dev
curl https://bootstrap.pypa.io/get-pip.py | python3
pip install virtualenvwrapper
chmod 777 /usr/local/bin
#!/bin/bash
#
# Build docker-compose binary for ARM on AlarmPi
#
(($(id -u) == 0)) && echo 'cannot run as root' && exit 1
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
. /usr/bin/virtualenvwrapper.sh
mktmpenv
cdsitepackages
pip install docker-compose==1.12.0 pyinstaller==3.2.1
pip download --no-binary :all: --no-deps pyinstaller==3.2.1
tar xjf PyInstaller-*.tar.bz2
cd PyInstaller-*/bootloader
./waf all --no-lsb
cp -r ../PyInstaller/bootloader/Linux-32bit-arm/ ../../PyInstaller/bootloader/
cdsitepackages
mkdir bin
curl -sSL https://github.com/docker/compose/raw/1.12.0/docker-compose.spec > docker-compose.spec
curl -sSL https://github.com/docker/compose/raw/1.12.0/bin/docker-compose > bin/docker-compose
pyinstaller docker-compose.spec
cp docker-compose/dist/docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose
ln -sf /usr/local/bin/{docker-compose,fig}
fig --version
deactivate
#!/bin/bash
#
# Build docker-compose binary for ARM on Raspbian
#
(($(id -u) == 0)) && echo 'cannot run as root' && exit 1
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
. /usr/local/bin/virtualenvwrapper.sh
mktmpenv
cdsitepackages
pip install docker-compose==1.12.0 pyinstaller==3.2.1
pip download --no-binary :all: --no-deps pyinstaller==3.2.1
tar xjf PyInstaller-*.tar.bz2
cd PyInstaller-*/bootloader
./waf all --no-lsb
cp -r ../PyInstaller/bootloader/Linux-32bit-arm/ ../../PyInstaller/bootloader/
cdsitepackages
mkdir bin
curl -sSL https://github.com/docker/compose/raw/1.12.0/docker-compose.spec > docker-compose.spec
curl -sSL https://github.com/docker/compose/raw/1.12.0/bin/docker-compose > bin/docker-compose
pyinstaller docker-compose.spec
cp docker-compose/dist/docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose
ln -sf /usr/local/bin/{docker-compose,fig}
fig --version
#deactivate
#!/bin/bash
curl https://bootstrap.pypa.io/get-pip.py | python3
pip install virtualenvwrapper
apt install -y build-essential python3-dev
chmod 777 /usr/local/bin/
su -l pi
bash -x /tmp/build-docker-compose.sh
$ mkdir -p docker-compose/{DEBIAN,usr/bin}/
$ touch docker-compose/DEBIAN/{control,postinst,postrm}
$ chmod +x docker-compose/DEBIAN/{postinst,postrm}
$ cp /usr/local/bin/docker-compose docker-compose/usr/bin/
$ tree -F docker-compose/
docker-compose/
├── DEBIAN/
│ ├── control
│ ├── postinst*
│ └── postrm*
└── usr/
└── bin/
└── docker-compose*
$ dpkg -b docker-compose docker-compose_1.12.0-1_armhf.deb
dpkg-deb: building package 'docker-compose' in 'docker-compose_1.12.0-1_armhf.deb'.
$ dpkg -i docker-compose_1.11.2-1_armhf.deb
$ fig --version
file: control
Package: docker-compose
Version: 1.12.0-1
Maintainer: noreply@easypi.info
Homepage: https://github.com/docker/compose
Architecture: armhf
Priority: optional
Section: utils
Description: Define and run multi-container applications with Docker
file: postinst
#!/bin/bash
cd /usr/bin/
ln -s docker-compose fig
file: postrm
#!/bin/bash
cd /usr/bin/
rm -f fig