.NetCore打包docker镜像
程序员文章站
2022-08-29 20:19:58
1..NetCore 项目打包成Docker 镜像 1.1创建一个.NetCore web项目 项目名为 testmvc 此处用的是.NetCore2.1版本 1.2并且在program里面设置启动端口,默认5000 这里设置为8003端口 1.3 发布项目,并且在发布的文件里面创建一个 Docke ......
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 在阿里云创建自己的容器仓库
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用来编排管理。
上一篇: 汉献帝被废之后为何不找刘备呢 难道他真的不想要*了吗
下一篇: 喜欢喝茶的人有三个不同点