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用来编排管理。

  • 相关阅读:
    递归实现全排列问题
    LeetCode
    LeetCode
    连续子元素最大和
    简单模板view调用
    如何清除PHP中不需要的Layout模板
    Model中设置表单验证方法
    数据修改操作
    MVC模式tp框架四中路由形式
    zend Framework的MVC模式的搭建
  • 原文地址:https://www.cnblogs.com/DNLi/p/11165884.html
Copyright © 2011-2022 走看看