diff --git a/src/cartservice/Dockerfile b/src/cartservice/Dockerfile
index 738aaf8..4073a80 100644
--- a/src/cartservice/Dockerfile
+++ b/src/cartservice/Dockerfile
@@ -1,7 +1,6 @@
-# cartservice_probe
-FROM golang:1.10 as builder
+FROM golang:1.10 as probe
RUN wget -qO/go/bin/dep https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 && \
- chmod +x /go/bin/dep
+ chmod +x /go/bin/dep
ENV PROJECT github.com/GoogleCloudPlatform/microservices-demo/src/cartservice/probe
WORKDIR /go/src/$PROJECT
COPY probe/Gopkg.* ./
@@ -9,14 +8,28 @@ RUN dep ensure --vendor-only -v
COPY ./probe ./
RUN go build -o /cartservice_probe .
-# cartservice
-FROM gcr.io/google-appengine/aspnetcore:2.1.0
-COPY --from=builder /cartservice_probe /cartservice_probe
-RUN apt-get update && apt-get install net-tools telnet
+FROM microsoft/dotnet:2.1-sdk-alpine as builder
WORKDIR /app
COPY . .
RUN dotnet restore && \
dotnet build && \
- dotnet publish
-WORKDIR /app/bin/Debug/netcoreapp2.0
-ENTRYPOINT ["dotnet", "cartservice.dll", "start"]
+ dotnet publish -c release -r linux-musl-x64 -o /cartservice
+
+# cartservice
+FROM alpine:latest
+# Add the probe
+COPY --from=probe /cartservice_probe /cartservice_probe
+# Dependencies for runtime
+# busybox-extras => telnet
+RUN apk add --no-cache \
+ busybox-extras \
+ libc6-compat \
+ libunwind \
+ libuuid \
+ libgcc \
+ libstdc++ \
+ libintl \
+ icu
+WORKDIR /app
+COPY --from=builder /cartservice .
+ENTRYPOINT ["./cartservice", "start"]
\ No newline at end of file
diff --git a/src/cartservice/cartservice.csproj b/src/cartservice/cartservice.csproj
index c6945d2..594ae93 100644
--- a/src/cartservice/cartservice.csproj
+++ b/src/cartservice/cartservice.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp2.0
+ netcoreapp2.1