• .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!

  • 相关阅读:
    如何编写linux下nand flash驱动-4
    Windows代码heap内存分析实战
    堆内存破坏检测实战--附完整调试过程
    排序算法:冒泡排序
    HDOJ 2802 F(N)
    HDOJ 1715 大菲波数
    HDOJ 1214 圆桌会议
    HDOJ 3466 Proud Merchants
    HDOJ 1215 七夕节
    HDOJ 2073 无限的路
  • 原文地址:https://www.cnblogs.com/KQNLL/p/13553876.html
Copyright © 2020-2023  润新知