使用docker-compose 构建dotnetcore的console应用

介绍使用docker-compose 构建dotnetcore的console应用
Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。
Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
dotnetcore是微软跨平台的.net环境

使用docker-compose 构建dotnetcore的console应用

1、创建【dockerconsole】目录

1
2
mkdir dockerconsole
cd dockerconsole

2、使用vscode打开【dockerconsole】目录

1
code .

3、【dockerconsole】目录下创建dotnetcore的console应用

1
dotnet new console

4、创建Dockerfile文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#使用microsoft/dotnet:sdk镜像作为编译环境
FROM microsoft/dotnet:sdk AS build-env
#设置应用在docker中的工作路径
WORKDIR /app
#拷贝所有csproj文件到/app下
COPY *.csproj ./
#执行还原命令
RUN dotnet restore
#拷贝所有文件到/app下
COPY . ./
#执行发布命令,编译的发布文件生成到/app/out目录下
RUN dotnet publish -c Release -o out
#使用microsoft/dotnet:runtime镜像作为运行环境
FROM microsoft/dotnet:runtime
#设置应用在docker中的工作路径
WORKDIR /app
#从build-env生成/app/out目录下的所有文件拷贝到/app下
COPY --from=build-env /app/out ./
#设置应用的启动命令
ENTRYPOINT [ "dotnet","dockerconsole.dll" ]

5、创建docker-compose.yml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3'
services:
consoleapp:
#构建名为consoleapp_img的镜像
image: consoleapp_img
build:
#docker-compose.yml的当前根目录
context: .
#根目录下的Dockerfile文件
dockerfile: Dockerfile
#运行容器,名为consoleapp_c
container_name: consoleapp_c

6、【dockerconsole】目录下使用docker-compose 命令构建镜像并运行容器

1
docker-compose up

参考

您的支持将鼓励我继续创作