1
- FROM microsoft/dotnet:2.1-sdk as build-env
1
+ FROM microsoft/aspnetcore-build:2 as build-env
2
2
WORKDIR /app
3
- # setup node
3
+
4
4
ENV NODE_VERSION 8.11.1
5
+ ENV NODE_DOWNLOAD_URL https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz
5
6
6
- RUN curl -SL "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz" --output nodejs.tar.gz \
7
- && tar -xzf "nodejs.tar.gz" -C /usr/local --strip-components=1 \
7
+ RUN curl -SL "$NODE_DOWNLOAD_URL" --output nodejs.tar.gz \
8
+ && mkdir -p /usr/local/opt/nodejs8 \
9
+ && tar -xzf "nodejs.tar.gz" -C /usr/local/opt/nodejs8 --strip-components=1 \
8
10
&& rm nodejs.tar.gz \
9
- && ln -s /usr/local/bin/node /usr/local/bin/nodejs
11
+ && ln -f -s /usr/local/opt/nodejs8/bin/node /usr/local/bin/node \
12
+ && ln -f -s /usr/local/opt/nodejs8/bin/node /usr/local/bin/nodejs
10
13
11
14
# copy csproj and restore as distinct layers
12
15
COPY *.csproj ./
@@ -17,15 +20,7 @@ COPY . ./
17
20
RUN dotnet publish -c Release -o out
18
21
19
22
# build runtime image
20
- FROM microsoft/aspnetcore:2.0
23
+ FROM microsoft/aspnetcore:2
21
24
WORKDIR /app
22
- # setup node, this is only needed if you use Node both at runtime and build time. Some people may only need the build part.
23
- ENV NODE_VERSION 8.11.1
24
-
25
- RUN curl -SL "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz" --output nodejs.tar.gz \
26
- && tar -xzf "nodejs.tar.gz" -C /usr/local --strip-components=1 \
27
- && rm nodejs.tar.gz \
28
- && ln -s /usr/local/bin/node /usr/local/bin/nodejs
29
-
30
25
COPY --from=build-env /app/out .
31
- ENTRYPOINT ["dotnet" , "dotnet-app.dll" ]
26
+ ENTRYPOINT ["dotnet" , "dotnet-app.dll" ]
0 commit comments