Оформить официальный репозиторий для .Net Framework
https://hub.docker.com/r/microsoft/dotnet-framework/
docker run -itd --name "MyDotnet" -v "/my/local/path:/home/xdev" microsoft/dotnet-framework
Затем вы можете развернуть приложение в локальном каталоге
Для .Net Core
пожалуйста, смотрите мой Dockerfile для .Net Core в качестве примера
FROM xzesstence/docker-ubuntu
MAINTAINER "Tim Koepsel"
LABEL dotnet-version="2.1.4"
ENV TZ 'Europe/Brussels'
# https://bugs.debian.org/830696 (apt uses gpgv by default in newer releases, rather than gpg)
RUN set -ex; \
apt-get update; \
if ! which gpg; then \
apt-get install -y --no-install-recommends gnupg; \
fi; \
# Ubuntu includes "gnupg" (not "gnupg2", but still 2.x), but not dirmngr, and gnupg 2.x requires dirmngr
# so, if we're not running gnupg 1.x, explicitly install dirmngr too
if ! gpg --version | grep -q '^gpg (GnuPG) 1\.'; then \
apt-get install -y --no-install-recommends dirmngr; \
fi; \
rm -rf /var/lib/apt/lists/*
RUN apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF && apt-key adv --keyserver packages.microsoft.com --recv-keys 52E16F86FEE04B979B07E28DB02C46DF417A0893
RUN export DEBIAN_FRONTEND=noninteractive && DEBIAN_FRONTEND=noninteractive apt-get update \
&& echo $TZ > /etc/timezone \
&& apt-get install -y net-tools \
iputils-ping \
curl \
wget \
ca-certificates \
unzip \
tzdata \
&& curl https://packages.microsoft.com/keys/microsoft.asc | /usr/bin/gpg --dearmor > microsoft.gpg \
&& mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg \
&& sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list' \
&& apt-get update
RUN apt-get install -y dotnet-sdk-2.1.105 \
aspnetcore-store-2.0.6
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
&& dpkg-reconfigure -f noninteractive tzdata \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN useradd -d /home/xdev -ms /bin/bash -g root -G sudo xdev
RUN echo 'xdev:123456' | chpasswd
USER xdev
WORKDIR /home/xdev
ENTRYPOINT ["tail", "-f", "/dev/null"]
CMD ["bash"]
Теперь вы можете собрать докер-файл, запустив
docker build --tag dotnet .
Затем вы можете запустить контейнер и смонтировать локальный каталог с чем-то вроде этого
docker run -itd --name "MyDotnet" -v "/my/local/path:/home/xdev" dotnet
Вы можете развернуть сетевое приложение в / my / local / path на вашем хост-компьютере или изменить рабочий каталог на путь, который вы хотите использовать
забраться в контейнер
docker exec -it MyDotnet bash
внутри вы можете просто набрать
dotnet MyApplication.dll [application arguments]
или вам нужно установить правильную точку входа, чтобы ваш dll запускался автоматически
Пожалуйста, ответьте как правильный ответ, если он работает для вас