Skip to content

Commit 7f82982

Browse files
authored
Merge pull request #43 from CSCfi/feature/add-option-for-arm-containers
Add option for selecting the architecture of processor for arm container images
2 parents 5c16812 + a739718 commit 7f82982

2 files changed

Lines changed: 15 additions & 7 deletions

File tree

Dockerfile

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
# https://releases.openstack.org/wallaby/index.html
88

9+
ARG ARCHITECTURE=x86_64
10+
911
FROM python:3.9-slim-bullseye as builder
1012

1113
ENV SWIFT_VERSION=2.27.0
@@ -60,6 +62,8 @@ RUN --mount=type=cache,target=/root/.cache/pip \
6062

6163
FROM python:3.9-slim-bullseye
6264

65+
ARG ARCHITECTURE
66+
6367
ENV S6_LOGGING=1
6468
ENV S6_VERSION=3.1.5.0
6569

@@ -95,14 +99,14 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=private \
9599
# Install s6
96100
ADD https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/s6-overlay-noarch.tar.xz /tmp
97101
ADD https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/s6-overlay-noarch.tar.xz.sha256 /tmp
98-
ADD https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/s6-overlay-x86_64.tar.xz /tmp/
99-
ADD https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/s6-overlay-x86_64.tar.xz.sha256 /tmp/
102+
ADD https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/s6-overlay-${ARCHITECTURE}.tar.xz /tmp/
103+
ADD https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/s6-overlay-${ARCHITECTURE}.tar.xz.sha256 /tmp/
100104
ADD https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/syslogd-overlay-noarch.tar.xz /tmp/
101105
ADD https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/syslogd-overlay-noarch.tar.xz.sha256 /tmp/
102106

103107
RUN cd /tmp \
104108
&& sha256sum -c *.sha256 \
105-
&& tar -C / -Jxpf /tmp/s6-overlay-x86_64.tar.xz \
109+
&& tar -C / -Jxpf /tmp/s6-overlay-${ARCHITECTURE}.tar.xz \
106110
&& tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz \
107111
&& tar -C / -Jxpf /tmp/syslogd-overlay-noarch.tar.xz \
108112
&& rm -rf /tmp/s6-overlay* \
@@ -117,10 +121,10 @@ COPY --from=builder /usr/local/include /usr/local/include
117121
COPY --from=builder /usr/local/lib /usr/local/lib
118122

119123
# Prepare
120-
RUN useradd -U swift \
121-
&& useradd -U keystone \
122-
&& useradd -U syslog \
123-
&& useradd -U sysllog \
124+
RUN useradd -U swift \
125+
&& useradd -U keystone \
126+
&& useradd -U syslog \
127+
&& useradd -U sysllog \
124128
&& mkdir -p "/etc/swift" "/srv/node" "/srv/node/sdb1" "/var/cache/swift" "/var/run/swift" "/usr/local/src/" \
125129
&& mkdir -p "/etc/keystone" "/var/lib/keystone" "/etc/keystone/fernet-keys/" \
126130
# Build swift rings

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ Build the image with
2525

2626
docker buildx build -t keystone-swift .
2727

28+
Or for using arm processor architecture, like for Mac's M1.
29+
30+
docker buildx build --build-arg="ARCHITECTURE=aarch64" -t keystone-swift .
31+
2832
Start the container using the following command:
2933

3034
docker run -d --init -p 5000:5000 -p 8080:8080 --name keystone-swift keystone-swift

0 commit comments

Comments
 (0)