将ASP.NET核心部署到Azure容器服务(Swarm模式)

我已经build立了一个Azure容器服务集群,如下所示:https: //docs.microsoft.com/en-us/azure/container-service/container-service-deployment with SWARM。 然后我已经连接到https://docs.microsoft.com/en-us/azure/container-service/container-service-connect 。

我已经安装了docker for windows(我共享驱动器)和visual studio docker工具。

我已经创build了具有此dockerfile的默认ASP.NET Core应用程序

FROM microsoft/aspnetcore:1.0.1 ENTRYPOINT ["dotnet", "MyTest.dll"] ARG source=. WORKDIR /app EXPOSE 80 COPY $source . 

我已经改变了它(因为它什么都不做),看起来像这样:

 FROM microsoft/aspnetcore:1.0.1 WORKDIR /app EXPOSE 80 COPY out ./ ENTRYPOINT ["dotnet", "MyTest.dll"] 

然后,我打开一个命令提示符,并移动到我的根文件夹,我做了:

 set DOCKER_HOST = tcp://localhost:2375 docker version 

(docker版本是确定的)

然后 :

 dotnet publish -c Release -o out docker build -t testaspnetcore . 

然后 :

 docker run -d -p 8080:80 testaspnetcore 

然后 :

 docker ps 

我看到列表中的容器,但是当我用SSH连接到我的集群ACS时,我就可以

 docker -H 172.16.0.5:2375 ps -a 

我在集群中看不到我的容器。

注意:当我在本地执行docker ps时,可以在putty事件日志中看到: Forwarded port closed due to local error: Network error: Software caused connection abort 。 试过了防火墙,许多其他的东西,但没有结果

我怎么能部署到群集我自己的形象?

有一个教程在https://docs.microsoft.com/en-us/azure/container-service/container-service-docker-swarm

关于您的Putty问题,可能您会在您的客户机上运行Docker,因此您有端口冲突。 您可以将客户端端口更改为不同的内容以避免此冲突。