Skip to content

Commit

Permalink
Updating dockerfiles used in Tutorial make build (C#,Python,Node,Reac…
Browse files Browse the repository at this point in the history
…tClient) (#1062)

* Updating gitignore to exclude out/ from dotnet publish

Signed-off-by: Paul Yuknewicz <paulyuk@microsoft.com>

* Fixing build.yaml github action workflow with modern dockerfiles.  go for dist calculator already fixed by #1058

Signed-off-by: Paul Yuknewicz <paulyuk@microsoft.com>

* Updating csharp dockerfile with correct entry point, and do not explicitly expose port

Signed-off-by: Paul Yuknewicz <paulyuk@microsoft.com>

---------

Signed-off-by: Paul Yuknewicz <paulyuk@microsoft.com>
  • Loading branch information
paulyuk authored Jul 24, 2024
1 parent 407cebd commit 4f59e09
Show file tree
Hide file tree
Showing 12 changed files with 46 additions and 16 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Debug/
.settings/
.metadata
.project
out/

# Package Files #
*.jar
Expand Down
21 changes: 17 additions & 4 deletions tutorials/distributed-calculator/csharp/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
# Note: we cannot do a staged dotnet docker build here for arm/arm64.
# Use the official .NET 7 SDK image to build the application
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /app

# Copy the project file and restore dependencies
COPY *.csproj ./
RUN dotnet clean
RUN dotnet restore --disable-parallel

# Build runtime image
FROM mcr.microsoft.com/dotnet/aspnet:7.0
# Copy the rest of the application code and build the application
COPY . ./
RUN dotnet publish -c Release -o out

# Use the official .NET 7 runtime image to run the application
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/aspnet:7.0 AS runtime
WORKDIR /app
COPY /out .
COPY --from=build /app/out .

# Run the application
ENTRYPOINT ["dotnet", "Subtract.dll"]
2 changes: 1 addition & 1 deletion tutorials/distributed-calculator/node/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:17-alpine
FROM node:20-alpine
WORKDIR /usr/src/app
COPY . .
RUN npm install
Expand Down
2 changes: 1 addition & 1 deletion tutorials/distributed-calculator/python/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.7-alpine
FROM python:3.12-alpine
COPY . /app
WORKDIR /app
RUN pip install flask flask_cors
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:17-alpine
FROM node:20-alpine
WORKDIR /usr/src/app
COPY . .
RUN npm install
Expand Down
2 changes: 1 addition & 1 deletion tutorials/hello-kubernetes/node/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:17-alpine
FROM node:20-alpine
WORKDIR /app
COPY . .
RUN npm install
Expand Down
2 changes: 1 addition & 1 deletion tutorials/hello-kubernetes/python/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.7-alpine
FROM python:3.12-alpine
WORKDIR /app
COPY . .
RUN pip install requests
Expand Down
2 changes: 1 addition & 1 deletion tutorials/observability/python/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.7-alpine
FROM python:3.12-alpine
COPY . /app
WORKDIR /app
RUN pip install flask flask_cors
Expand Down
22 changes: 19 additions & 3 deletions tutorials/pub-sub/csharp-subscriber/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
# Note: we cannot do a staged dotnet docker build here for arm/arm64.
# Use the official .NET 8 SDK image to build the application
FROM --platform=linux/arm64 mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /app

# Copy the project file and restore dependencies
COPY *.csproj ./
RUN dotnet restore --disable-parallel

# Copy the rest of the application code and build the application
COPY . ./
RUN dotnet publish -c Release -o out

FROM mcr.microsoft.com/dotnet/aspnet:8.0
# Use the official .NET 8 runtime image to run the application
FROM --platform=linux/arm64 mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
WORKDIR /app
COPY /out .
COPY --from=build /app/out .

# Expose the port the application runs on
EXPOSE 80

# Run the application
ENTRYPOINT ["dotnet", "csharp-subscriber.dll"]
2 changes: 1 addition & 1 deletion tutorials/pub-sub/node-subscriber/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:17-alpine
FROM node:20-alpine
WORKDIR /usr/src/app
COPY . .
RUN npm install
Expand Down
2 changes: 1 addition & 1 deletion tutorials/pub-sub/python-subscriber/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.7-alpine
FROM python:3.12-alpine
COPY . /app
WORKDIR /app
RUN pip install flask flask_cors
Expand Down
2 changes: 1 addition & 1 deletion tutorials/pub-sub/react-form/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:17-alpine
FROM node:20-alpine
WORKDIR /usr/src/app
COPY . .
RUN npm run build
Expand Down

0 comments on commit 4f59e09

Please sign in to comment.