前置条件
- 安装 .NET SDK (目前.NET 7.0) 2023年6月10日
- 安装Docker
前置条件自己搞定。
检查.NET 和Docker 是否安装成功
#查看.NET 是否安装成功
dotnet --version
#查看 Docker 是否安装成功
docker --version
说明:
由于我这边安装了最新.NET 8 预览版所以显示的是最新的版本。具体看自己的安装版本。
创建服务
可以使用 .NET CLI 命令创建或 VS 创建。
这里直接用 .NET CLI 命令创建
dotnet new webapi -o MyMicroservice --no-https -f net7.0
** 命令说明 :
dotnet 命令:创建一个 webapi 项目
-o 参数:创建 文件夹名 MyMicroservice 用于存放这个项目。
--no-https:** 表示不使用 HTTPS证书。
-f:表示要创建 .NET 7 的应用
cd MyMicroservice
命令说明:
切换到 MyMicroservice 目录。
运行服务
dotnet run
浏览器访问接口:
http://localhost:
添加 Docker 元数据
为了运行 Docker 镜像,我们需要一个 Dockerfile 文件。这个文件包含了如何构建我们的应用的镜像的说明。
Docker 镜像包含了作为 Docker 容器运行应用程序所需的内容。
**PS: **挖个坑,写一篇 Docker 相关的文章。
在我们应用的项目文件夹下创建 Dockerfile
(在 MyMicroservice 文件夹下面)
文件名一定要叫 Dockerfile。
fsutil file createnew Dockerfile 0
start Dockerfile
将如下内容拷贝到 Dockerfile
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY MyMicroservice.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c release -o /app
FROM mcr.microsoft.com/dotnet/aspnet:7.0
WORKDIR /app
COPY --from=build /app .
ENTRYPOINT ["dotnet", "MyMicroservice.dll"]
PS:再挖个坑,写一篇 Dockerfile 相关的文章。
可选项:添加 .dockerignore 文件
.dockerignore 文件是为了在执行 docker build 命令时减少不必要的文件,从而加快构建速度。
fsutil file createnew .dockerignore 0
start .dockerignore
将下面内容拷贝到 .dockerignore 中。
Dockerfile
[b|B]in
[O|o]bj
创建 Docker 镜像
docker build -t mymicroservice .
命令说明:、
docker build:使用 Dockerfile 去构建 Docker 镜像
**-t mymicroservice 参数:镜像名称为 mymicroservice
最后一个参数告诉使用哪个目录来查到 Dockerfile
(. **指定当前工作目录)
创建完成结果:
构建完成后看一下本机的可用镜像有哪些
docker images
运行 Docker 镜像
docker run -it --rm -p 3000:80 --name mymicroservicecontainer mymicroservice
查看 当前正在运行的 docker 镜像
docker ps