FROM utarn/aspnetcore5-centos8:latest AS builder
WORKDIR /src
COPY aspnetproject/aspnetproject.csproj aspnetproject/
RUN dotnet restore aspnetproject/aspnetproject.csproj
COPY . .
WORKDIR /src/aspnetproject
RUN dotnet publish --output /app --configuration Release
FROM utarn/aspnetcore5-centos8-runtime:latest
WORKDIR /app
COPY --from=builder /app .
ENTRYPOINT ["dotnet", "aspnetproject.dll"]
FROM utarn/aspnetcore5-centos8:latest AS builder
WORKDIR /src
COPY aspnetproject/aspnetproject.csproj aspnetproject/
RUN dotnet restore aspnetproject/aspnetproject.csproj
COPY . .
WORKDIR /src/aspnetproject
RUN dotnet publish --output /app --configuration Release
FROM utarn/aspnetcore5-centos8-runtime:latest
WORKDIR /app
COPY --from=builder /app .
RUN mkdir -p /app/wwwroot/wkhtml && cp /usr/local/bin/wkhtmltopdf /app/wwwroot/wkhtml/wkhtmltopdf && chmod +x /app/wwwroot/wkhtml/wkhtmltopdf
ENTRYPOINT ["dotnet", "aspnetproject.dll"]
docker run --name aspnetproject --restart always \
-e ASPNETCORE_ENVIRONMENT=Production \
-e ASPNETCORE_URLS=http://*:5000 \
-e ASPNETCORE_preventHostingStartup=True \
-p 127.0.0.1:5000:5000 \
-d utarn/aspnetproject
docker run --name aspnetproject --restart always \
-e ASPNETCORE_ENVIRONMENT=Production \
-e ASPNETCORE_URLS=http://*:5000 \
-e ASPNETCORE_preventHostingStartup=True \
-p 127.0.0.1:5000:5000 \
--network aspnet \
-d sampleweb:latest
docker run \
-d \
-v /root/database:/bitnami/postgresql \
--name postgresql \
-e POSTGRESQL_USERNAME=postgres \
-e POSTGRESQL_PASSWORD=password \
-e POSTGRESQL_DATABASE=sample_deploy \
--restart always \
--network aspnet \
bitnami/postgresql:12
version: '3'
services:
postgresql:
image: bitnami/postgresql:12
restart: always
environment:
POSTGRESQL_USER: postgres
POSTGRESQL_PASSWORD: password
POSTGRESQL_DATABASE: mydatabase
ports:
- "127.0.0.1:5432:5432"
volumes:
- ./database:/bitnami
webui:
image: sampleweb:latest
restart: always
environment:
ASPNETCORE_ENVIRONMENT: "Production"
ASPNETCORE_URLS: "http://*:80"
ASPNETCORE_preventHostingStartup: "True"
ports:
- "127.0.0.1:5000:80"
networks:
default:
server {
listen 80;
server_name demo.thaismartcontract.com;
client_max_body_size 200M;
location / {
client_max_body_size 200M;
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
proxy_read_timeout 600s;
}
gzip on;
gzip_proxied any;
gzip_types
text/css
text/javascript
text/xml
text/plain
application/javascript
application/x-javascript
application/json
application/x-www-form-urlencoded;
}
FROM centos:8
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
RUN dnf clean all && rm -r /var/cache/dnf && dnf upgrade -y && dnf update -y && dnf -y install git wget curl && \
dnf --nogpgcheck -y install epel-release sudo 'dnf-command(config-manager)' && \
dnf config-manager --set-enabled PowerTools && \
dnf --nogpgcheck -y install autoconf automake libtool freetype-devel fontconfig libXft-devel libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel libexif-devel glib2-devel cairo-devel libunwind libicu https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/30/Everything/x86_64/os/Packages/l/libgdiplus-5.6-3.fc30.x86_64.rpm https://archive.fedoraproject.org/pub/epel/7/x86_64/Packages/c/cabextract-1.5-1.el7.x86_64.rpm xorg-x11-font-utils fontconfig https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm gssntlmssp https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.centos8.x86_64.rpm lttng-ust userspace-rcu
FROM utarn/centos8-build
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
ARG DOTNET_SDK_VERSION=5.0.100
ENV \
# Unset ASPNETCORE_URLS from aspnet base image
ASPNETCORE_URLS= \
# Enable correct mode for dotnet watch (only mode supported in a container)
DOTNET_USE_POLLING_FILE_WATCHER=true \
# Skip extraction of XML docs - generally not useful within an image/container - helps performance
NUGET_XMLDOC_MODE=skip \
# PowerShell telemetry for docker image usage
POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Debian-10
# Install .NET SDK
RUN curl -SL --output dotnet.tar.gz https://dotnetcli.azureedge.net/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \
&& mkdir -p /usr/share/dotnet \
&& tar -ozxf dotnet.tar.gz -C /usr/share/dotnet \
&& rm dotnet.tar.gz \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet \
# Trigger first run experience by running arbitrary cmd
&& dotnet help
Content type
Image
Digest
Size
529.4 MB
Last updated
over 4 years ago
docker pull utarn/aspnetcore5-centos8