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

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

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

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

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


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

通过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 .

使用webapp镜像创建两个容器

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

docker run -p 8080:80 webapp:dev

ASP.NET Core 2.0 in Docker on Windows Containers的更多相关文章

  1. ASP.NET Core 2.0 in Docker on Windows Container

    安装Docker for Windows https://store.docker.com/editions/community/docker-ce-desktop-windows 要想将一个ASP. ...

  2. NET Core 2.0 in Docker on Windows Containers

    安装Docker for Windows https://store.docker.com/editions/community/docker-ce-desktop-windows 要想将一个ASP. ...

  3. 丙申年把真假美猴王囚禁在容器中跑 ASP.NET Core 1.0

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  4. 将 ASP.NET Core 1.0 应用作为 docker 镜像发布 (Linux版)

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  5. Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1)

    相关博文: Ubuntu 简单安装和配置 GitLab Ubuntu 简单安装 Docker Ubuntu Docker 简单安装 GitLab Ubuntu Docker 安装和配置 GitLab ...

  6. Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)

    上一篇:Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1) 服务器版本 Ubuntu 16.04 LTS. 本 ...

  7. Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署

    写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级 ...

  8. Ubuntu & Docker & Consul & Fabio & ASP.NET Core 2.0 微服务跨平台实践

    相关博文: Ubuntu 简单安装 Docker Mac OS.Ubuntu 安装及使用 Consul Consul 服务注册与服务发现 Fabio 安装和简单使用 阅读目录: Docker 运行 C ...

  9. 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(1)

    最近使用vscode比较多. 学习了一下如何在mac上使用vscode开发asp.netcore项目. 这里是我写的关于vscode的一篇文章: https://www.cnblogs.com/cgz ...

随机推荐

  1. java 文件指针复位

    BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("userremain.l ...

  2. Shell脚本的调试方法

    Shell脚本的调试方法 Shell提供了一些用于调试脚本的选项,如下所示: -n    读一遍脚本中的命令但不执行,用于检查脚本中的语法错误 -v    一边执行脚本,一边将执行过的脚本命令打印到标 ...

  3. Spring Boot实践——统一异常处理

    注解说明 @ControllerAdvice,是Spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强.让我们先看看@ControllerAdvice的实现: /** * Special ...

  4. redis一主二从三哨兵

    redis做集群的时候有很多种配置方法,一主二从三哨兵这种模式是官网推荐的.,写配置文件链接的时候,写的是哨兵地址,不是IP,用户名,密码之类的. 一主二从很好理解,一个主的redis,实时备份到两个 ...

  5. How To Install Spring IDE In Eclipse

    Spring IDE is a very useful graphical user interface tool adding support for Spring Framework. In th ...

  6. kafka启动报java.net.UnknownHostException

    kafka启动报java.net.UnknownHostException 参考资料: 1.https://blog.csdn.net/zdxiq000/article/details/6258765 ...

  7. Go Packages、Variables、functions

    [Go Packages.Variables.functions] 1.定义包名. 2.引入Package. 3.定义导出的变量.首字母必须大写. 4.函数.Notice that the type ...

  8. 【总结整理】令人惊喜的app

    1.音遇,从无名氏跃居appstore社交类榜单前十:2.刺激战场,不懂算不算互联网产品hhh,打败手游吃鸡先锋荒野行动:3.微信小游戏,从跳一跳到更复杂的h5游戏,微信小游戏占据了部分玩家的琐碎时间 ...

  9. Ubuntu开机自动挂载分区

    虽然我基本上都是使用Linux的,但是仍然有些时候需要切换到Windows(双系统),如果所有的分区都使用ext4等Linux分区格式,则在Windows下访问十分不方便. 因此,我一般会将一些两个系 ...

  10. 我们为什么要在 PHPStorm 中标记目录

    问题来源 (1)要开发的项目位于PHPStorm打开的项目的二级目录下,使用PHPStorm来开发Laravel项目 提供的教程在代码自动定位和智能提醒方面,存在无效的情况: (2)使用gulp作为项 ...