Dockerize dotnet core 2.2 app, what and why lines are placed in nopCommerce Dockerfile?

Questions about dockerizing dotnet core app

As an example I will provide the Dockerfile for nopCommercew
https://github.com/nopSolutions/nopCommerce/blob/develop/Dockerfile

Everything is clear except the following:

RUN dotnet publish Nop.Web.csproj -c Release -o /app/published
...
# add globalization support
RUN apk add --no-cache icu-libs
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false

WORKDIR /app        
RUN mkdir bin
RUN mkdir logs  

COPY --from=build /app/published .
  1. Why should the app be published to /app/published, then copy it to the /app?
  2. Why --from=build is used in line COPY --from=build /app/published .?
  3. What is this line RUN apk add --no-cache icu-libs is used for? and why should it be used?

Thanks!

Source: StackOverflow