项目添加 dockerfile

Docker file 内容

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base

WORKDIR /app

EXPOSE 80

FROM microsoft/dotnet:2.1-sdk AS build

WORKDIR /src

COPY ["WebAPIForDocker/WebAPIForDocker.csproj", "WebAPIForDocker/"]

RUN dotnet restore "WebAPIForDocker/WebAPIForDocker.csproj"

COPY . .

WORKDIR "/src/WebAPIForDocker"

RUN dotnet build "WebAPIForDocker.csproj" -c Release -o /app

FROM build AS publish

RUN dotnet publish "WebAPIForDocker.csproj" -c Release -o /app

FROM base AS final

WORKDIR /app

COPY --from=publish /app .

ENTRYPOINT ["dotnet", "WebAPIForDocker.dll"]

Visual stdio 执行 dockerfile

直接运行 docker build 报错

D:\Work\My\opensource\Dotnet2\DockerExample\WebAPIForDocker>docker build -t dotnet:WebAPIForDocker .

Sending build context to Docker daemon  303.9MB

Step 1/16 : FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base

---> e56d8091e0bf

Step 2/16 : WORKDIR /app

---> Using cache

---> 1b458c38a238

Step 3/16 : EXPOSE 80

---> Using cache

---> 9b2ec0ced4cd

Step 4/16 : FROM microsoft/dotnet:2.1-sdk AS build

---> e87e5f0285fc

Step 5/16 : WORKDIR /src

---> Using cache

---> b4d77609de72

Step 6/16 : COPY ["WebAPIForDocker/WebAPIForDocker.csproj", "WebAPIForDocker/"]

COPY failed: stat /var/lib/docker/tmp/docker-builder044742703/WebAPIForDocker/WebAPIForDocker.csproj: no such file or directory

选中dockerfile,右键执行生成docker 镜像

查看生成的docker 镜像

D:\Work\My\opensource\Dotnet2\DockerExample>docker images

REPOSITORY                 TAG                      IMAGE ID            CREATED             SIZE

webapifordocker            latest                   f97cbfd07c4a        2 minutes ago       253MB

运行 docker 镜像

D:\Work\My\opensource\Dotnet2\DockerExample>docker run -it -p 5000:5000 webapifordocker

info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]

User profile is available. Using '/root/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest.

info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[58]

Creating key {cbb57e3c-2b4d-4e00-b9cc-bbb7c3e4977a} with creation date 2018-12-26 09:28:53Z, activation date 2018-12-26 09:28:53Z, and expiration date 2019-03-26 09:28:53Z.

warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]

No XML encryptor configured. Key {cbb57e3c-2b4d-4e00-b9cc-bbb7c3e4977a} may be persisted to storage in unencrypted form.

info: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[39]

Writing data to file '/root/.aspnet/DataProtection-Keys/key-cbb57e3c-2b4d-4e00-b9cc-bbb7c3e4977a.xml'.

Hosting environment: Production

Content root path: /app

Now listening on: http://[::]:5000

Application started. Press Ctrl+C to shut down.

终端中测试

返回数据一切正常

root@084a60515e21:/app# curl http://localhost:5000/api/orders/getorderList

[{"item1":"ja201808204778560863744992601","item2":"08/20/2018 18:29:16"},{"item1":"201808205628636382300589946","item2":"08/20/2018 18:29:18"},{"item1":"201808205753427170575780018","item2":"08/20/2018 18:29:19"},{"item1":"201808204749312987745111125","item2":"08/20/2018 18:29:21"},{"item1":"201808204725778270582113008","item2":"08/20/2018 18:29:22"},{"item1":"201808204776350327734840932","item2":"08/20/2018 18:29:27"},{"item1":"201808205627318305959441050","item2":"08/20/2018 18:29:30"},{"item1":"201808205593544898683339668","item2":"08/20/2018 18:29:34"},{"item1":"201808205707984438836626731","item2":"08/20/2018 18:29:35"},{"item1":"201808205573431454844603206","item2":"08/20/2018 18:29:39"}]root@084a60515e21:/app#

vs2017 对dockerfile的支持的更多相关文章

  1. Docker使用Dockerfile创建支持ssh服务自启动的容器镜像

    原文链接:Docker使用Dockerfile创建支持ssh服务自启动的容器镜像 1. 首先创建一个Dockerfile文件.文件内容例如以下 # 选择一个已有的os镜像作为基础 FROM cento ...

  2. docker~通过vs2017的Dockerfile来生成镜像

    回到目录 Dockerfile这个东西我们之前是介绍过,它方便,快捷,易用,而在vs2017中也对docker进行了支持,而生成docker image的方式就是有用Dockerfile为基础的,在添 ...

  3. 使用Dockerfile创建支持SSH服务的镜像

    1.前面我们学习了使用Dockerfile,那接下来我们就用Dockerfile创建一个支持SSH服务的镜像. 2.首先创建一个目录ssh_centos [root@rocketmq-nameserv ...

  4. vs2017不是完全支持c99

    1.比如c99里面有一个特性, int count[]={0,[5]=7,9,10} 这种在VS2017里面是编译不通过的.; 2.c99有一个变长数组的概念(VLA),但是vs2017不支持.

  5. Docker(2):使用Dockerfile创建支持SSH服务的镜像

    1.创建工作目录 # mkdir sshd_ubuntu # ls 在其中,创建Dockerfile和run.sh文件 # cd sshd_ubuntu/ # touch Dockerfile run ...

  6. 如何让vs2017 EF实体生成支持Mysql 和 Oracle?

    1.Mysql 安装   MySql Connector/Net        https://dev.mysql.com/downloads/connector/net/ 安装    mysql f ...

  7. VS2017 15.6之后支持直接反编译了

    在 15.6 预览版 2 中,增加了导航到反编译源功能. 启用后,在任何引用的类型或成员上调用转到定义或查看定义时,将显示其通过 ILSpy 反编译使用重新构造方法主体的定义. 要打开此功能,请转到“ ...

  8. 官方Tomcat镜像Dockerfile分析及镜像使用

    官方Tomcat镜像 地址:https://hub.docker.com/_/tomcat/ 镜像的Full Description中,我们可以得到许多信息,这里简单介绍下: Supported ta ...

  9. 使用VSCode和VS2017编译调试STM32程序

    近两年,微软越来越拥抱开源支持跨平台,win10搭载Linux子系统,开源VSCode作为跨平台编辑器,VS2017官方支持了Linux和嵌入式开发功能. ST也是,近两年开发的软件工具基本都是跨平台 ...

随机推荐

  1. 连接oracle数据库报错:TNS-12516 TNS:listener could not find available handler with matching protocol stack解决方法

    导致此问题的可能原因为:数据库的当前会话说不满足造成的. 解决方法如下: (1)连接数据库: [localhost@oracle]$:sqlplus  /nolog sql>conn  / as ...

  2. 第04章:MongoDB基本概念

    ① 数据库 MongoDB的一个实例可以拥有一个或多个相互独立的数据库,每个数据库都有自己的集合   集合 集合可以看作是拥有动态模式的表   文档 文档是MongoDB中基本的数据单元,类似于RDB ...

  3. Ajax传数据到servlet

    //jsp代码 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" ...

  4. IP和网段及子网掩码基础知识

    IP地址由网络号和主机号两部分组成,网络号的最高位必须是"0",IP地址和子网掩码求"与"算出网络地址,只有网络地址相同才可直接通信,否则需要借助路由. 主机标 ...

  5. 模板引擎(smarty)知识点总结四

    /*   smarty 引入对象 */ require_once 'libs/Smarty.class.php';  require 'MySmarty.class.php';  $msma = ne ...

  6. Monkey and Banana (hdu 1069)

    http://acm.hdu.edu.cn/showproblem.php?pid=1069   题目描述: 给你n个箱子, 给你箱子的长宽高,箱子是可以无限使用的,问这些箱子摞起来最多能多高? 这些 ...

  7. POJ3189 Steady Cow Assignment

    Steady Cow Assignment Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6817   Accepted:  ...

  8. HDU2159_二维完全背包问题

    HDU2159_二维完全背包问题 输入有:经验,忍耐度,怪物种数,限制杀怪数 每一种怪物对应获得的经验值和消耗的耐久值 输出:剩下的最大忍耐度 限制:忍耐度,杀怪个数 在这里把忍耐度看成背包的容量,杀 ...

  9. floyd算法之最小环问题

    最小环问题:都比较容易得到从u 到 v 经过中间某一些结点的最短路,但是我们得确保回来的时候,不能经过那些结点,这样我们就需要改一下floyd算法了 进而我们想到用Floyd算法.我们知道,Floyd ...

  10. 关于分页插件PageHelper

    上课的时候学习了分页插件,感受到了它的强大,这里总结如下: 1.首先在spring配置文件中引入依赖jar包: <dependency> <groupId>com.github ...