如何在windows上Dockerize我的web api
Docker是用于创建容器化应用程序的完整开发平台,Docker for Windows是在Windows系统上使用Docker的最佳方式如何在windows上Dockerize我的web api,windows,docker,asp.net-web-api,Windows,Docker,Asp.net Web Api,Docker是用于创建容器化应用程序的完整开发平台,Docker for Windows是在Windows系统上使用Docker的最佳方式 启动您喜爱的shell(cmd.exe、PowerShell或其他),检查docker和docker compose的版本,并验证安装 PS C:\Users\Docker>Docker--version Docker版本17.03.0-ce,版本60ccb22 PS C:\Users\Docker>Docker compose--version dock
- 启动您喜爱的shell(cmd.exe、PowerShell或其他),检查docker和docker compose的版本,并验证安装
PS C:\Users\Docker>Docker--version
- Docker版本17.03.0-ce,版本60ccb22
PS C:\Users\Docker>Docker compose--version
- docker compose版本1.11.2,构建dfed245
docker run -d -p 8000:80 --name firstwebapptest microsoft/aspnetcore
要实现第1个目标,我们将使用以下示例
docker pull microsoft/aspnetcore
docker pull:将从docker hub中拉出dotnet:latest
图像,:latest
是一个标签指定dotnet的最新稳定版本意味着如果您想要另一个运行时版本,您将使用docker pull dotnet:runtime
从上述dotnet官方docker hub链接中,您将在支持的标签下找到标签
要完成第2步:我们需要使用此图像运行容器
docker run -d -p 8000:80 --name firstwebapptest microsoft/aspnetcore
docker run:将基于microsoft/aspnetcore
创建一个容器名firstwebapptest
,将容器端口80
转发到主机端口8000
,所有这些都将作为分离模式-d
现在检查您的浏览器localhost:8000
这是一个使用docker命令行工具的非常基本的场景。
因此,实现此场景的另一种方法是使用dockerfile,您将在microsoft dotnet官方docker hub链接中找到如何使用此图像
,它假定您已经在包含已编译myapp.dll的应用程序目录中。您要做的是在此目录中创建一个名为dockerfile
的文件,并将其写入:
FROM microsoft/aspnetcore
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "myapp.dll"]
来源:我们已经提取的基础图像
WORKDIR:这将是linux容器中的目录
复制:
第一个
是在容器中复制主机目录内容,第二个
是您的来宾目录,在这种情况下将是/app
ENTREYPOINT:此容器启动并运行后将运行的linux命令,在这种情况下,dotnet myapp.dll
意味着您正在从WORKDIR
/app
中的linux容器中运行该命令,其中包含已编译的myapp.dll.
我们已经复制了它COPY代码>
现在我们有了dockerfile,我们需要的就是构建和运行它
docker build -t secondwebapptest .
docker run -d -p 8001:80 secondwebapptest
docker build:将从
构建一个名为-t secondwebapptest
的容器。dot指的是您刚刚构建的docker文件,并且您已经在工作目录中,否则您必须使用-f
指定docker文件的路径,但这不是我们的情况
docker run:基于将容器端口80
转发到主机端口8001
,将运行已创建的名为secondwebapptest
的容器,所有这些将以分离模式-d
运行
现在检查您的浏览器localhost:8001