Dockerfile 技术要点

  1. FROM 用来指定在哪个镜像上进行构建,后面的AS命令给在这个镜像上操作的环境上下文创建一个名称(build-env)
    FROM microsoft/aspnetcore-build:2.0 AS build-env

     

  2. WORKDIR 用来切换当前镜像环境下的工作目录,以下代码表示在build-env环境中切换到/src目录下
    WORKDIR /src

     

  3. COPY 用来将操作源目录下的文件拷贝到当前镜像工作目录,一般情况下源目录是指运行docker build 时的目录。这里需要区分镜像工作目录。以下命令简而言之就是将本地目录中的代码拷贝到镜像中的路径下.
    COPY app/code src/code

     

  4. RUN 用来在当前镜像中直接调用脚本命令
    RUN npm install

     

  5. COPY --from=src desc 用来从一个镜像环境中拷贝文件到当前镜像环境
    FROM microsoft/aspnetcore:2.0
    WORKDIR /app
    COPY --from=build-env /app .

     

  6. ENTRYPOINT 镜像启动命令
    ENTRYPOINT ["dotnet", "start.dll"]

     

  7. donet项目发布后运行gulp命令的技巧
    1. package.json中添加
      "scripts": {
          "gulp": "gulp publish"
      }

       

    2. Properties\PublishProfiles\FolderProfile.pubxml文件中添加
      <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
         ...
        <Target Name="Gulp" AfterTargets="AfterPublish">
          <Exec Command="npm run gulp"></Exec>
        </Target>
      </Project>

       

    3. 在Dockefile中适当位置添加
      RUN npm install
      RUN npm install gulp
       
      RUN dotnet publish project.csproj -c Release -o /app /p:PublishProfile=FolderProfile

posted on 2019-03-11 13:18  leonworld2011  阅读(179)  评论(0编辑  收藏  举报

导航