zoukankan      html  css  js  c++  java
  • .net core 手动部署到Docker

      运用docker容器化技术有一段时间了,做点备忘录笔记吧。本篇只演示实操,理论的后面补上。

    本文演示的是手动方式在docker主机上构建镜像,实际运维推荐使用Devops工具来完成镜像生成和容器启动。

    废话不多说,开干!

    添加Dockerfile

      要能部署到docker,首先要在项目中添加Dockerfile。可以在项目中通过右键自动添加,如下图

     自动添加的Dockerfile如下图,

    Dockerfile简单说明

     dockerfile一般分为4部分

    基础镜像信息

    维护者信息使用label指令

    镜像操作指令

    容器启动时执行指令

    我们看到自动生成的Dockerfile除了没有维护者信息,其他的都有。

    这里我们有两种方式来生成镜像,直接使用源码编译生成构建镜像和使用生成好的编译文件构建镜像

    使用源码构建镜像

    我们直接用源码去生成镜像的话,该Dockerfile不用修改可直接用于构建。

    在自动生成的Dockerfile中copy的路径我们知道,需要在解决方案所在的目录来运行docker build命令,不然copy的时候路径会不正确(当然也可以修改Dockerfile中的copy相关命令中涉及到的路径来解决)。我们将项目源代码文件推送到docker主机上后,将命令行切换到解决方案**.sln所在的目录。

    然后执行镜像构建命令,docker build -t  myimagename -f WebDocker/dockerfile . 注意别漏了最后的小点。

    这样就会执行构建了,如果路径没有错误即可看到最终镜像生成成功的提示。

    使用编译后的文件构建镜像

    如果使用在本地编译好的文件到docker主机上去构建镜像的话,我们可以优化一下Dockerfile。项目自动添加的Dockerfile包含了编译操作命令,而且看上去命令较多,相应的镜像的层数也多了。

     最后的Dockerfile文件如下,是不是很清爽。

     Dockerfile生成到编译目录后,我们将生成后的bin目录文件推送到Docker主机上。

    切换到Dockerfile所在的目录,执行镜像构建命令docker build -t  myimagename  .即可完成镜像的构建,因为是在Dockerfile所在目录执行构建,所以-f路径可以省略。

    好了,今天的.net core手动构建镜像就讲到这了,是不是so easy!

  • 相关阅读:
    apache安全—用户访问控制
    hdu 3232 Crossing Rivers 过河(数学期望)
    HDU 5418 Victor and World (可重复走的TSP问题,状压dp)
    UVA 11020 Efficient Solutions (BST,Splay树)
    UVA 11922 Permutation Transformer (Splay树)
    HYSBZ 1208 宠物收养所 (Splay树)
    HYSBZ 1503 郁闷的出纳员 (Splay树)
    HDU 5416 CRB and Tree (技巧)
    HDU 5414 CRB and String (字符串,模拟)
    HDU 5410 CRB and His Birthday (01背包,完全背包,混合)
  • 原文地址:https://www.cnblogs.com/KQNLL/p/13553876.html
Copyright © 2011-2022 走看看