mirror of
https://github.com/willfarrell/docker-autoheal.git
synced 2024-12-06 19:16:20 +01:00
Added multiarch build, because I need this image for mi Raspberry PI
This commit is contained in:
+24
@@ -0,0 +1,24 @@
|
||||
sudo: required
|
||||
services:
|
||||
- docker
|
||||
language: bash
|
||||
|
||||
env:
|
||||
global:
|
||||
- TRAVIS_SECURE_ENV_VARS=true
|
||||
|
||||
before_install:
|
||||
- sudo apt-get remove docker docker-engine docker.io
|
||||
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||
- sudo apt-get update
|
||||
- sudo apt-get -y install docker-ce
|
||||
- echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json
|
||||
- sudo service docker restart
|
||||
- mkdir ~/.docker
|
||||
- echo '{"experimental":"enabled"}' | tee ~/.docker/config.json
|
||||
- ls -al ~/.docker/config.json
|
||||
- cat ~/.docker/config.json
|
||||
|
||||
script:
|
||||
- bash build.sh $TRAVIS_REPO_SLUG $DOCKER_USERNAME $DOCKER_PASSWORD
|
||||
+3
-2
@@ -1,4 +1,5 @@
|
||||
FROM alpine:3.5
|
||||
ARG arch=amd64
|
||||
FROM multiarch/alpine:${arch}-latest-stable
|
||||
|
||||
RUN apk add --no-cache curl jq
|
||||
|
||||
@@ -7,4 +8,4 @@ ENTRYPOINT ["/docker-entrypoint"]
|
||||
|
||||
HEALTHCHECK --interval=5s CMD exit 0
|
||||
|
||||
CMD ["autoheal"]
|
||||
CMD ["autoheal"]
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
REPO=${1}
|
||||
DOCKER_USERNAME=${2}
|
||||
DOCKER_PASSWORD=${3}
|
||||
declare -A ARCH_MAP
|
||||
ARCH_MAP[amd64]=amd64
|
||||
ARCH_MAP[armhf]=arm
|
||||
ARCH_MAP[arm64]=arm64
|
||||
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||
|
||||
echo "Building docker images"
|
||||
for i in "${!ARCH_MAP[@]}"; do
|
||||
echo "################################################################################"
|
||||
echo "Building and pushing: ${REPO}-${ARCH_MAP[$i]}:latest "
|
||||
echo "################################################################################"
|
||||
docker build --build-arg arch=${i} -t ${REPO}-${ARCH_MAP[$i]}:latest .;
|
||||
docker push ${REPO}-${ARCH_MAP[$i]}:latest;
|
||||
done;
|
||||
|
||||
MANIFESTS=""
|
||||
for arch in "${ARCH_MAP[@]}"; do MANIFESTS="${MANIFESTS} ${REPO}-${arch}:latest"; done
|
||||
|
||||
echo "################################################################################"
|
||||
echo "Building and pushing: ${REPO}-${ARCH_MAP[$i]}:latest "
|
||||
echo "################################################################################"
|
||||
docker manifest create ${REPO}:latest ${MANIFESTS};
|
||||
|
||||
for arch in "${ARCH_MAP[@]}"; do
|
||||
docker manifest annotate --os linux --arch ${arch} ${REPO}:latest ${REPO}-${arch}:latest;
|
||||
done;
|
||||
|
||||
docker manifest push ${REPO}:latest
|
||||
Reference in New Issue
Block a user