asp.net dockerfile
mydocker/apline:20210517s6
FROM alpine:3.13
ENV S6_REL=2.2.0.3 S6_ARCH=amd64 TZ=Asia/Shanghai
ENV DOTNET_VER=5.0.6 DOTNET_ARCH=x64
LABEL base.maintainer=Roxedus
LABEL base.s6.rel=${S6_REL} base.s6.arch=${S6_ARCH}
LABEL dotnet_version=${DOTNET_VER} dotnet_arch=${DOTNET_ARCH}
RUN \
set -eux && \
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \
apk add --no-cache \
curl \
tar \
bash \
ca-certificates \
coreutils \
shadow \
tzdata \
libstdc++ \
libgcc \
icu-libs \
libintl \
libcap \
libssl1.1 \
zlib \
krb5-libs \
&& \
apk add --no-cache libgdiplus --repository https://mirrors.ustc.edu.cn/alpine/edge/testing/ && \
curl -L -s https://github.com/just-containers/s6-overlay/releases/download/v${S6_REL}/s6-overlay-${S6_ARCH}.tar.gz | tar xzf - -C / && \
groupmod -g 1000 users && \
useradd -u 1000 -U -d /config -s /bin/false rox && \
usermod -G users rox && \
mkdir -p \
/app \
/config && \
rm -rf /tmp/* && \
mkdir -p /etc/cont-init.d && \
echo IyEvdXNyL2Jpbi93aXRoLWNvbnRlbnYgYmFzaAoKUFVJRD0ke1BVSUQ6LTEwMDB9ClBHSUQ9JHtQR0lEOi0xMDAwfQoKZ3JvdXBtb2QgLW8gLWcgIiRQR0lEIiByb3gKdXNlcm1vZCAtbyAtdSAiJFBVSUQiIHJveAoKZWNobyAiClVzZXIgdWlkOiAgICAkKGlkIC11IHJveCkKVXNlciBnaWQ6ICAgICQoaWQgLWcgcm94KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiIKCmNob3duIC1SIHJveDpyb3ggL2FwcApjaG93biAtUiByb3g6cm94IC9jb25maWc= | base64 -d >/etc/cont-init.d/1-prep-env
RUN \
mkdir -p /usr/share/dotnet \
&& curl -L -s https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${DOTNET_VER}/aspnetcore-runtime-${DOTNET_VER}-linux-musl-${DOTNET_ARCH}.tar.gz | tar xzf - -C /usr/share/dotnet \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet \
&& setcap CAP_NET_BIND_SERVICE=+eip /usr/share/dotnet/dotnet \
&& mkdir -p /etc/services.d/
VOLUME [ "/config" ]
WORKDIR /app
ENTRYPOINT ["/init"]
mydocker/aspnetcore:apline5.0.6
FROM mydocker/apline:20210517s6
ENV DOTNET_VER=5.0.6 DOTNET_ARCH=x64
LABEL maintainer=Roxedus
LABEL dotnet_version=${DOTNET_VER} dotnet_arch=${DOTNET_ARCH}
RUN \
mkdir -p /usr/share/dotnet \
&& curl -L -s https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${DOTNET_VER}/aspnetcore-runtime-${DOTNET_VER}-linux-musl-${DOTNET_ARCH}.tar.gz | tar xzf - -C /usr/share/dotnet \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet \
&& setcap CAP_NET_BIND_SERVICE=+eip /usr/share/dotnet/dotnet \
&& mkdir -p /etc/services.d/
WORKDIR /app
mydocker/app1
FROM mydocker/aspnetcore:apline5.0.6
ENV DOTNET_DLL=ttt.dll DOTNET_ARG=
RUN mkdir -p /etc/services.d/app1 && \
echo IyEvdXNyL2Jpbi93aXRoLWNvbnRlbnYgYmFzaApjZCAvYXBwIHx8IGV4aXQKCmV4ZWMgXAoJczYtc2V0dWlkZ2lkIHJveCBkb3RuZXQgYXJnMSBhcmcy | base64 -d >/etc/services.d/app1/run && \
sed -i 's/arg1/'"${DOTNET_DLL}"'/g' /etc/services.d/app1/run && \
sed -i 's/arg2/'"${DOTNET_ARG}"'/g' /etc/services.d/app1/run
COPY publish/ /app/
EXPOSE 5000
mydocker/aspnetcore:mix5.0.6
FROM alpine:3.13
ENV S6_REL=latest S6_ARCH=amd64 TZ=Asia/Shanghai
ENV DOTNET_VER=5.0.6 DOTNET_ARCH=x64
LABEL base.maintainer=Roxedus
LABEL base.s6.rel=${S6_REL} base.s6.arch=${S6_ARCH}
LABEL dotnet_version=${DOTNET_VER} dotnet_arch=${DOTNET_ARCH}
RUN \
set -eux && \
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \
apk add --no-cache \
curl \
tar \
bash \
ca-certificates \
coreutils \
shadow \
tzdata \
libstdc++ \
libgcc \
icu-libs \
libintl \
libcap \
libssl1.1 \
zlib \
krb5-libs \
&& \
apk add --no-cache libgdiplus --repository https://mirrors.ustc.edu.cn/alpine/edge/testing/ && \
curl -L -s https://github.com/just-containers/s6-overlay/releases/download/v${S6_REL}/s6-overlay-${S6_ARCH}.tar.gz | tar xzf - -C / && \
groupmod -g 1000 users && \
useradd -u 1000 -U -d /config -s /bin/false rox && \
usermod -G users rox && \
mkdir -p \
/app \
/config && \
rm -rf /tmp/* && \
mkdir -p /etc/cont-init.d && \
echo IyEvdXNyL2Jpbi93aXRoLWNvbnRlbnYgYmFzaAoKUFVJRD0ke1BVSUQ6LTEwMDB9ClBHSUQ9JHtQR0lEOi0xMDAwfQoKZ3JvdXBtb2QgLW8gLWcgIiRQR0lEIiByb3gKdXNlcm1vZCAtbyAtdSAiJFBVSUQiIHJveAoKZWNobyAiClVzZXIgdWlkOiAgICAkKGlkIC11IHJveCkKVXNlciBnaWQ6ICAgICQoaWQgLWcgcm94KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiIKCmNob3duIC1SIHJveDpyb3ggL2FwcApjaG93biAtUiByb3g6cm94IC9jb25maWc= | base64 -d >/etc/cont-init.d/1-prep-env
RUN \
mkdir -p /usr/share/dotnet \
&& curl -L -s https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${DOTNET_VER}/aspnetcore-runtime-${DOTNET_VER}-linux-musl-${DOTNET_ARCH}.tar.gz | tar xzf - -C /usr/share/dotnet \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet \
&& setcap CAP_NET_BIND_SERVICE=+eip /usr/share/dotnet/dotnet \
&& mkdir -p /etc/services.d/
RUN mkdir -p /etc/services.d/app1 && \
echo IyEvdXNyL2Jpbi93aXRoLWNvbnRlbnYgYmFzaAoKRExMPSR7RExMOi19CgpjZCAvYXBwIHx8IGV4aXQKCmV4ZWMgXAoJczYtc2V0dWlkZ2lkIHJveCBkb3RuZXQgJERMTA== | base64 -d >/etc/services.d/app1/run
VOLUME [ "/config" ]
WORKDIR /app
ENTRYPOINT ["/init"]
EXPOSE 80