而且一旦在VS里停止调试以后站点将会不能访问

时间:2022-06-08 09:21:17

安置Docker for Windows  https://store.docker.com/editions/community/docker-ce-desktop-windows

而且一旦在VS里停止调试以后站点将会不能访问

要想将一个ASP.NET Core 站点部署到Docker,首先项目必需添加Docker撑持,说白了就是生成Dockerfile,有两种方法第一种是在新建项目的时候

而且一旦在VS里停止调试以后站点将会不能访问

还有一种方法就是通过项目右键→添加→Docker 撑持

而且一旦在VS里停止调试以后站点将会不能访问

这是添加Docker 撑持后生成的Dockerfile

FROM microsoft/aspnetcore:2.0 ARG source WORKDIR /app EXPOSE 80 COPY ${source:-obj/Docker/publish} . ENTRYPOINT ["dotnet", "WebApplication1.dll"]

而且一旦在VS里停止调试以后站点将会不能访问


点击这个Docker按钮,如果你本地没有aspnetcore镜像会先拉取这个镜像,紧接着将Webapplication1这个Web应用措施Bulid成一个镜像(Image),这个时候通过命令检察有两个镜像(Image)webapplication1和microsoft/aspnetcore 还有一个正在运行的容器。

而且一旦在VS里停止调试以后站点将会不能访问

通过inspect检察容器的详细信息

docker inspect 6fce4391165a

需要强调一点是上面的Dockerfile并不能直接拿到生成环境上用,而且一旦在VS里遏制调试以后站点将会不能访谒,我把适才阿谁容器成为交互式容器不知原理解的对不同错误,先删除适才的容器和镜像。

先颁布一下我们的应用措施,如果颁布到文件系统默认应该是bin\Release\PublishOutpuy 这个路径我就不改了,点击颁布。颁布完成后将根目录下的Dockerfile拷贝到颁布目录,并进行改削

FROM microsoft/aspnetcore:2.0 WORKDIR /app EXPOSE 80 COPY . . ENTRYPOINT ["dotnet", "WebApplication1.dll"]

使用build命令手动创建镜像,在颁布目录下打开命令行窗口,执行下面的命令

docker build -t webapp:dev .

而且一旦在VS里停止调试以后站点将会不能访问

使用webapp镜像创建两个容器

而且一旦在VS里停止调试以后站点将会不能访问

而且一旦在VS里停止调试以后站点将会不能访问

而且一旦在VS里停止调试以后站点将会不能访问

两个实例已经跑起来了,想要运行更多的实例run一下就行了。
上面两个IP是容器的IP,一般都是容器的端口映射宿主机的端口,用宿主机IP:端标语去访谒,Nginx或HAProxy关联每个宿主机:端标语,,所以在创建容器的时候城市加个-p参数

docker run -p 8080:80 webapp:dev

而且一旦在VS里停止调试以后站点将会不能访问

NET Core 2.0 in Docker on Windows Containers