zoukankan      html  css  js  c++  java
  • .NetCore打包docker镜像

    1..NetCore 项目打包成Docker 镜像

    1.1创建一个.NetCore web项目 项目名为   testmvc  此处用的是.NetCore2.1版本

    1.2并且在program里面设置启动端口,默认5000

     public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
                WebHost.CreateDefaultBuilder(args)
                    .UseStartup<Startup>()
                .UseUrls("http://*:8003");
    

      这里设置为8003端口

    1.3 发布项目,并且在发布的文件里面创建一个 Dockerfile 文件

    1.4 编写 Dockerfile 文件内容

    #基于 `microsoft/dotnet:1.0.0-core` 来构建我们的镜像
    FROM microsoft/dotnet:2.1-aspnetcore-runtime
    
    #拷贝项目publish文件夹中的所有文件到 docker容器中的publish文件夹中  
    COPY . /publish
    
    #设置工作目录为 `/publish` 文件夹,即容器启动默认的文件夹
    WORKDIR /publish
    
    #设置Docker容器对外暴露8003端口
    EXPOSE 8003
    
    #使用`dotnet testmvc.dll`来运行应用程序
    
    CMD ["dotnet", "testmvc.dll", "--server.urls", "http://*:8003"]
    

     

    1.5 生成docker镜像,此处是在linux centos环境下生成的

    此时通过 docker images 可以看到

    2..NetCore 项目的Docker 镜像推送到阿里云镜像仓储

    2.1 在阿里云创建自己的容器仓库 https://cr.console.aliyun.com/cn-hangzhou/instances/repositories

    2.2 

    按照阿里云的提示进行镜像推送。

    先登录,密码为阿里云的账号密码

    推送镜像,注意镜像ID 和版本

    这时候可以在阿里云的镜像版本看到自己的版本信息

    这里推送到阿里云的镜像完成

    3.在linux上获取阿里云自己的Docker镜像

    3.1

    这时候的本地镜像仓库就存在阿里云的版本的镜像

    4.在linux运行项目,多版本回滚

    执行 命令

    docker run --name test -d -p 8003:8003 registry.cn-hangzhou.aliyuncs.com/lijiqing/test:1.0.2

     

    版本的回滚指的是,当发布新的镜像之后 如果出现bug或者其他问题,可以将当前容器关闭,运行之前旧的镜像

    当然可以用 k8s用来编排管理。

  • 相关阅读:
    「UVA12293」 Box Game
    「CF803C」 Maximal GCD
    「CF525D」Arthur and Walls
    「CF442C」 Artem and Array
    LeetCode lcci 16.03 交点
    LeetCode 1305 两棵二叉搜索树中的所有元素
    LeetCode 1040 移动石子直到连续 II
    LeetCode 664 奇怪的打印机
    iOS UIPageViewController系统方法崩溃修复
    LeetCode 334 递增的三元子序列
  • 原文地址:https://www.cnblogs.com/DNLi/p/11165884.html
Copyright © 2011-2022 走看看