Possible solution for multiarch container images

This commit is contained in:
jamesread 2021-11-18 12:20:08 +00:00
parent af5889a04d
commit 5b4f51f698
4 changed files with 55 additions and 8 deletions

View File

@ -75,7 +75,7 @@ dockers:
goos: linux
goarch: amd64
skip_push: false
use: docker
build_flag_templates:
- "--platform=linux/amd64"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
@ -87,11 +87,11 @@ dockers:
- image_templates:
- "docker.io/jamesread/olivetin:{{ .Tag }}-arm64"
dockerfile: Dockerfile
dockerfile: Dockerfile.arm64
goos: linux
goarch: arm64
skip_push: false
use: docker
build_flag_templates:
- "--platform=linux/arm64"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
@ -104,12 +104,12 @@ dockers:
# support rpi 1's, but it seems most container images start with v7.
- image_templates:
- "docker.io/jamesread/olivetin:{{ .Tag }}-armv7"
dockerfile: Dockerfile
dockerfile: Dockerfile.armv7
goos: linux
goarm: 7
goarch: arm
skip_push: false
use: docker
build_flag_templates:
- "--platform=linux/arm/v7"
- "--label=org.opencontainers.image.title={{.ProjectName}}"

View File

@ -1,14 +1,15 @@
FROM fedora
FROM --platform=linux/amd64 docker.io/amd64/fedora
RUN useradd -rm olivetin -u 1000
RUN mkdir -p /config /var/www/olivetin/ && \
RUN mkdir -p /config /var/www/olivetin \
&& \
dnf install -y \
iputils \
openssh-clients \
docker \
&& dnf clean all && \
rm -rf /var/cache/yum # install ping
rm -rf /var/cache/yum
EXPOSE 1337/tcp

23
Dockerfile.arm64 Normal file
View File

@ -0,0 +1,23 @@
FROM --platform=linux/arm64 docker.io/arm64v8/fedora
RUN useradd -rm olivetin -u 1000
RUN mkdir -p /config /var/www/olivetin \
&& \
dnf install -y \
iputils \
openssh-clients \
docker \
&& dnf clean all && \
rm -rf /var/cache/yum
EXPOSE 1337/tcp
VOLUME /config
COPY OliveTin /usr/bin/OliveTin
COPY webui /var/www/olivetin/
USER olivetin
ENTRYPOINT [ "/usr/bin/OliveTin" ]

23
Dockerfile.armv7 Normal file
View File

@ -0,0 +1,23 @@
FROM --platform=linux/arm/v7 arm32v7/fedora:latest
RUN useradd -rm olivetin -u 1000
RUN mkdir -p /config /var/www/olivetin \
&& \
dnf install -y \
iputils \
openssh-clients \
docker \
&& dnf clean all && \
rm -rf /var/cache/yum
EXPOSE 1337/tcp
VOLUME /config
COPY OliveTin /usr/bin/OliveTin
COPY webui /var/www/olivetin/
USER olivetin
ENTRYPOINT [ "/usr/bin/OliveTin" ]