aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2020-01-26 19:40:26 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2020-01-26 19:40:26 +0300
commitd505335220127692d8c85e00f397e387fd078123 (patch)
tree137c62e2550b16908a6c778b6378e60a425ebd9e
parentdump1090: multi-stage build (diff)
downloadfr24feed-d505335220127692d8c85e00f397e387fd078123.tar.gz
fr24feed-d505335220127692d8c85e00f397e387fd078123.zip
add more comments on Docker magic
-rw-r--r--.travis.yml22
-rw-r--r--fr24feed/Dockerfile1
2 files changed, 21 insertions, 2 deletions
diff --git a/.travis.yml b/.travis.yml
index 61555a5..4cfdeb1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,25 @@
-# I used this guide to set up multiarch builds:
-# https://mirailabs.io/blog/multiarch-docker-with-buildx/
+# I used a guide to set up multiarch builds [1].
# I don't understand it completely at the moment, but whatever.
+# The goal is to have a single multiarch repo on Docker Hub for each of the
+# services.
+# The approach is to use Docker's new BuildKit builder + the buildx command
+# line plugin.
+#
+# Other possibilities are:
+# * use QEMU + multiarch base images directly [2][3], and create a manifest
+# file manually,
+# * build natively on multiple architectures (not sure how to combine them in
+# a single manifest then though).
+#
+# The disadvantages of the approach taken are:
+# * newer Docker version is required,
+# * docker-compose doesn't seem to support that method natively.
+#
+# [1]: https://mirailabs.io/blog/multiarch-docker-with-buildx/
+# [2]: https://lobradov.github.io/Building-docker-multiarch-images/
+# [3]: https://ownyourbits.com/2018/06/27/running-and-building-arm-docker-containers-in-x86/
+
# TODO: Docker Hub automated builds instead of Travis?
# TODO: docker-compose instead of docker buildx?
diff --git a/fr24feed/Dockerfile b/fr24feed/Dockerfile
index 470f0fd..4b445f3 100644
--- a/fr24feed/Dockerfile
+++ b/fr24feed/Dockerfile
@@ -4,6 +4,7 @@ FROM debian:stretch-slim AS base
# Those are weird hacks, but the alternative (using the apt repository) was
# unsuitable (no systemctl, etc.).
+# Using BuildKit is required for this to work (it exposes TARGETARCH).
# The latest versions of the fr24feed binary for i386/x86_64/armhf as of
# 2020-01-26, according to https://www.flightradar24.com/share-your-data.