Skip to content

Commit 25c67fa

Browse files
authored
Merge pull request #287 from spinframework/optimize-image-dockerfiles
Dockerfile: Refactor Dockerfiles to separate WASM target addition and build steps
2 parents d18317a + baa4b65 commit 25c67fa

File tree

7 files changed

+19
-11
lines changed

7 files changed

+19
-11
lines changed

images/spin-keyvalue/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
FROM --platform=${BUILDPLATFORM} rust:1.85 AS build
22
WORKDIR /opt/build
3+
RUN rustup target add wasm32-wasip1
34
COPY . .
4-
RUN rustup target add wasm32-wasip1 && cargo build --target wasm32-wasip1 --release
5+
RUN cargo build --target wasm32-wasip1 --release
56

67
FROM scratch
78
COPY --from=build /opt/build/spin.toml ./spin.toml

images/spin-mqtt-message-logger/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
FROM --platform=${BUILDPLATFORM} rust:1.85 AS build
22
WORKDIR /opt/build
3+
RUN rustup target add wasm32-wasip1
34
COPY . .
4-
RUN rustup target add wasm32-wasip1 && cargo build --target wasm32-wasip1 --release
5+
RUN cargo build --target wasm32-wasip1 --release
56

67
FROM scratch
78
COPY --from=build /opt/build/target/wasm32-wasip1/release/mqtt_message_logger.wasm ./target/wasm32-wasip1/release/mqtt_message_logger.wasm

images/spin-multi-trigger-app/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM --platform=${BUILDPLATFORM} rust:1.85 AS build
22
WORKDIR /opt/build
3-
COPY . .
43
RUN rustup target add wasm32-wasip1
4+
COPY . .
55

66
WORKDIR /opt/build/spin-http-trigger
77
RUN cargo build --target wasm32-wasip1 --release

images/spin-multi-trigger-app/spin-redis-trigger/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
FROM --platform=${BUILDPLATFORM} rust:1.85 AS build
22
WORKDIR /opt/build
3+
RUN rustup target add wasm32-wasip1
34
COPY . .
4-
RUN rustup target add wasm32-wasip1 && cargo build --target wasm32-wasip1 --release
5+
RUN cargo build --target wasm32-wasip1 --release
56

67
FROM scratch
78
COPY --from=build /opt/build/target/wasm32-wasip1/release/spin_redis_trigger.wasm ./target/wasm32-wasip1/release/spin_redis_trigger.wasm

images/spin-outbound-redis/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
FROM --platform=${BUILDPLATFORM} rust:1.85 AS build
22
WORKDIR /opt/build
3+
RUN rustup target add wasm32-wasip1
34
COPY . .
4-
RUN rustup target add wasm32-wasip1 && cargo build --target wasm32-wasip1 --release
5+
RUN cargo build --target wasm32-wasip1 --release
56

67
FROM scratch
78
COPY --from=build /opt/build/target/wasm32-wasip1/release/spin_outbound_redis.wasm ./target/wasm32-wasip1/release/spin_outbound_redis.wasm

images/spin/Dockerfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
FROM --platform=${BUILDPLATFORM} rust:1.85 AS build
22
WORKDIR /opt/build
3+
RUN rustup target add wasm32-wasip1
34
COPY . .
4-
RUN rustup target add wasm32-wasip1 && cargo build --target wasm32-wasip1 --release
5+
RUN cargo build --target wasm32-wasip1 --release
56

67
FROM --platform=linux/amd64 golang:1.23.2-bullseye AS build-go
78
WORKDIR /opt/build
8-
COPY . .
99
RUN curl -LO https://github.com/tinygo-org/tinygo/releases/download/v0.34.0/tinygo_0.34.0_amd64.deb && dpkg -i tinygo_0.34.0_amd64.deb
10-
RUN cd go-hello && tinygo build -target=wasi -o spin_go_hello.wasm main.go
10+
COPY . .
11+
WORKDIR /opt/build/go-hello
12+
RUN if [ -f go.mod ]; then go mod download; fi
13+
RUN tinygo build -target=wasi -o spin_go_hello.wasm main.go
1114

1215
FROM scratch
1316
COPY --from=build /opt/build/target/wasm32-wasip1/release/spin_rust_hello.wasm ./target/wasm32-wasip1/release/spin_rust_hello.wasm

images/spin_dotnet/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
FROM --platform=${BUILDPLATFORM} mcr.microsoft.com/dotnet/sdk:7.0-bullseye-slim-amd64 AS build
22
WORKDIR /opt/build
3-
COPY . .
43
RUN apt-get update && apt-get install xz-utils
54
RUN curl -LO https://github.com/bytecodealliance/wizer/releases/download/dev/wizer-dev-x86_64-linux.tar.xz \
65
&& tar -xvf wizer-dev-x86_64-linux.tar.xz \
76
&& rm wizer-dev-x86_64-linux.tar.xz \
87
&& install wizer-dev-x86_64-linux/wizer /usr/local/bin
98

9+
FROM build AS build-dotnet
10+
COPY . .
1011
RUN dotnet build -c Release
1112

1213
FROM scratch
13-
COPY --from=build /opt/build/bin/Release/net7.0/MyTestProject.wasm ./bin/Release/net7.0/MyTestProject.wasm
14-
COPY --from=build /opt/build/spin.toml .
14+
COPY --from=build-dotnet /opt/build/bin/Release/net7.0/MyTestProject.wasm ./bin/Release/net7.0/MyTestProject.wasm
15+
COPY --from=build-dotnet /opt/build/spin.toml .

0 commit comments

Comments
 (0)