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

转载于:https://www.cnblogs.com/DNLi/p/11165884.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值