Docker 部署 .NET Core 3.0 控制台项目
本文将光速创建一个 Hello World,然后使用 Docker 进行部署
新建并发布.NET Core 控制台项目
首先新建一个 .NET Core 控制台项目,并直接运行
控制台应该会输出 Hello World!
,如果没有可以自己写一个。
dotnet new console --name hello
cd hello
dotnet run
解释:dotnet new
用于创建新项目,console
表示是控制台项目,--name
指定项目名称为 hello
并在当前路径下创建 hello
文件夹,而项目在其中。
于是直接发布
dotnet publish -c Release
解释:该命令会把项目发布到 hello
文件夹中的 bin/Release/netcoreapp3.0/publish
里
然后在 hello
目录下编写 Dockerfile
文件用于生成镜像:
FROM mcr.microsoft.com/dotnet/core/runtime
COPY bin/Release/netcoreapp3.0/publish/ /publish
WORKDIR /publish
ENTRYPOINT ["dotnet", "hello.dll"]
解释:
-
FROM
表示我们的镜像基于
mcr.microsoft.com/dotnet/core/runtime
-
COPY
用于拷贝我们打包好的应用,这里第一个参数的路径应该替换为应用的发布路径
-
WORKDIR
用于切换当前工作路径
-
ENTRYPOINT
运行应用
接下来利用这个 Dockerfile
构建镜像
docker build -t dotnet-hello .
解释:dotnet-hello
是镜像的名称
最后利用该镜像构建容器并运行
docker run -t --name hello dotnet-hello
解释:
-t
表示虚拟终端,用于在 Docker 命令行工具中输出应用的控制台输出。但一般项目中不需要--name hello
表示容器名为hello
最后看到终端输出 Hello World!
。
Thanks for reading! Read other posts?