gpt4 book ai didi

windows - 我如何在 Windows 上对我的 web api 进行 Dockerize

转载 作者:可可西里 更新时间:2023-11-01 11:24:20 25 4
gpt4 key购买 nike

Docker 是一个用于创建容器化应用程序的完整开发平台,适用于 Windows 的 Docker 是在 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

  • docker-compose 版本 1.11.2,构建 dfed245

最佳答案

您的问题不是很具体,但您似乎正在尝试容器化一个 asp.net 网络应用程序,这是您希望通过使用 docker 完成的任务的基本线索。

Docker 是一个 linux 容器系统,意味着它基于 linux 内核,通过在 Windows 中安装 docker,您正在安装一个 linux guest 机器来构建您的容器,您将自定义您的容器以转发端口,这些端口将从内部为您的应用程序开发服务容器到您的主机,所以基本上这将如何发生?安装 docker 之后,首先 docker 需要一个基础镜像(linux 镜像)来运行你的容器,所以找到 docker 镜像的好地方是 docker hub ,因此对于您需要的基本场景也是如此:

1) 拉取镜像。

2) 基于这个镜像运行一个容器。

要完成数字 1:我们将使用 microsoft dotnet official docker hub举个例子。

docker pull microsoft/aspnetcore

docker pull: 将从 docker hub 中拉取 dotnet:latest 图像,:latest 是一个标签,指定最新稳定版本的 dotnet 意味着如果你想要另一个运行时版本您将使用上述 dotnet 官方 docker hub 链接中的 docker pull dotnet:runtime 您将在 Supported tags

下找到标签

要完成第 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 链接中找到 How to use this image,它假设您已经在您的应用程序中包含已编译的 myapp.dll 的目录。你要做的是在这个目录中创建一个名为 dockerfile 的文件,并在里面写下:

FROM microsoft/aspnetcore
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "myapp.dll"]

FROM:我们已经拉取的基础镜像

WORKDIR:这将是 linux 容器内的目录

复制:。 . 第一个 . 是将您的主机目录内容复制到容器中,第二个 . 是您的 guest 目录,在这种情况下将是 /app

ENTREYPOINT:是将在该容器启动并运行后运行的 linux 命令,在这种情况下 dotnet myapp.dll 表示您正在从 linux 运行命令 dotnet WORKDIR /app 中的容器,其中包含您已编译的 myapp.dll. 的所有主机目录应用程序结构,我们已经复制了它 复制 。 .

现在我们有了 dockerfile,我们只需要构建和运行它。

docker build -t secondwebapptest .
docker run -d -p 8001:80 secondwebapptest

docker build:将从 构建一个名为 -t secondwebapptest 的容器。 点指的是您刚刚构建的 dockerfile,否则您已经在工作目录中您必须使用 -f 指定 docker 文件的路径,但这不是我们的情况。

docker run: 将运行已经创建的名为secondwebapptest 的容器,基于将容器端口80转发到主机端口8001所有这些都将作为分离模式 -d 运行。

现在检查你的浏览器 localhost:8001

关于windows - 我如何在 Windows 上对我的 web api 进行 Dockerize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45270598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com