Docker是一个用于创建容器化应用程序的完整开发平台,而Docker是在Windows系统上开始使用Docker的最佳方法。
PS C:\Users\Docker> docker --versionPS C:\Users\Docker> docker-compose --version发布于 2017-07-24 00:52:27
您的问题不是很具体,但似乎您正在尝试包含一个asp.net网络应用程序,这里是一个基本的线索,你想要通过使用码头。
Docker是一个linux容器系统,意味着它是基于linux内核的,通过在windows中安装docker,您将安装一个linux来宾机器来构建您的容器,并且您将定制您的容器来将从容器内部为应用程序开发服务的端口转发到您的主机,那么这基本上是如何发生的呢?安装了docker之后,需要一个基本映像(Linux)来运行您的容器,所以找到码头映像的一个很好的地方是码头枢纽,因此对于基本场景,您还需要:
( 1)拉出图像。
2)运行基于此映像的容器。
要实现1,:我们将以微软dotnet官方码头枢纽为例。
docker pull microsoft/aspnetcoredocker :将从码头集线器中提取dotnet:latest映像,:latest是一个标记,指定dotnet的最新稳定版本意味着,如果您需要另一个运行时版本,您将从上述dotnet官方停靠中心链接中使用docker pull dotnet:runtime,您将在Supported tags下找到标记。
要完成编号2,:我们需要使用这个映像运行一个容器。
docker run -d -p 8000:80 --name firstwebapptest microsoft/aspnetcoredocker :将创建一个基于firstwebapptest的容器名称microsoft/aspnetcore,将容器端口80转发给主机端口8000,所有这些都将作为分离模式-d运行。
现在查看浏览器localhost:8000
这是使用docker命令行工具的一个非常基本的场景。因此,完成此场景的另一种方法是使用dockerfile,您将在microsoft官方停靠中心链接中找到How to use this image,它假定您已经在包含已编译myapp.dll的应用程序目录中。您要做的是在这个目录中创建一个名为dockerfile的文件,并将其写入其中:
FROM microsoft/aspnetcore
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "myapp.dll"]出发地:我们已经提取的基本图像
WORKDIR:这将是linux容器中的目录
复制:. .第一个.在容器中复制主机目录内容,第二个.是您的来宾目录,在这种情况下将是/app。
ENTREYPOINT:是在这个容器启动并运行后运行的linux命令,在这种情况下,dotnet myapp.dll意味着您正在运行WORKDIR /app中的linux容器中的命令dotnet,其中包含我们已经复制的已编译的myapp.dll.的所有主机目录应用程序结构。
所以现在我们有了dockerfile,我们所需要的就是构建和运行它。
docker build -t secondwebapptest .
docker run -d -p 8001:80 secondwebapptestdockerfile :将从-t secondwebapptest构建一个名为.的容器,点引用您刚刚构建的dockerfile,并且您已经在工作目录中,否则您必须通过使用-f指定停靠文件的路径,但这不是我们的情况。
docker :将运行已经创建的容器,该容器名为secondwebapptest,它基于将容器端口80转发到主机端口8001,并且所有这些都将作为分离模式-d运行。
现在查看浏览器localhost:8001
https://stackoverflow.com/questions/45270598
复制相似问题