1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/monksoul-docker-doc

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
10、Dockerfile.md 2.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 07.03.2025 23:17 2ab012e

10. Dockerfile

Если вы хотите упаковать свой проект в образ, вам следует создать файл Dockerfile.

Подробная документация

https://docs.docker.com/engine/reference/builder/ https://docs.docker.com/get-started/part2/

Создание Dockerfile (настраиваемый образ)

# Базовый образ, основанный на конкретной языковой среде или платформе

FROM mcr.microsoft.com/dotnet/core/sdk:2.2

# Информация об образе

LABEL author="monk" email="monksoul@outlook.com" version="1.0"

# Создание рабочей директории

WORKDIR /app

# Копирование всех файлов в текущий контекст

ADD . .

# Выполнение команды

RUN dotnet build "app.csproj" -c Release -o /app/push

# Переход в рабочую директорию

WORKDIR /app/push

# Установка переменных окружения

ENV NAME=monk AUTHOR=monk

# Экспорт порта

EXPOSE 80

# Экспорт данных

VOLUME ["/uploads"]

# Команда, выполняемая после сборки образа

ENTRYPOINT [ "dotnet", "app.dll" ]

Пример Dockerfile для простого Nginx

FROM nginx

ADD . /usr/share/nginx/html

EXPOSE 80

Выполнение сборки:

docker build -t nginx-test:v1.0.0 .

Запуск:

docker run --name nginx-testv1 -p 5002:80 -d nginx-test:v1.0.0

Пример Dockerfile для простого ASP.NET Core проекта

Создайте проект ASP.NET Core и опубликуйте его.

dotnet new razor

dotnet publish "asp.net core.csproj" -c Release -o ./publish

Код Dockerfile:

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2

WORKDIR /app

ADD ./publish /app

EXPOSE 80 443

ENTRYPOINT ["dotnet", "asp.net core.dll"]

Выполнение сборки:

docker build -t aspnetcore:v1.0.0 .

Запуск:

docker run --name aspnetcorev1 -p 5003:80 -d aspnetcore:v1.0.0
```## Общее существование нескольких версий

Если вы изменили код, достаточно будет перестроить новый образ, как, например,

```bash
docker build -t nginx-test:v2.0.0 .

docker build -t aspnetcore:v2.0.0 .

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/monksoul-docker-doc.git
git@api.gitlife.ru:oschina-mirror/monksoul-docker-doc.git
oschina-mirror
monksoul-docker-doc
monksoul-docker-doc
master