纸壳CMS可以运行在Docker上,接下来看看如何自动构建纸壳CMS的Docker Image。我们希望的是在代码提交到GitHub以后,容器镜像服务可以自动构建Docker Image,构建好以后,就可以直接拿这个Docker Image来运行了。

Dockerfile

最重要的,就是Dockerfile中的定义了。先上代码:

FROM microsoft/aspnetcore-build:latest AS builder
WORKDIR /build
# Copy all files
COPY . ./
RUN dotnet restore
# Release ZKEACMS.WebHost
WORKDIR /build/src/ZKEACMS.WebHost
RUN dotnet publish-zkeacms# Build runtime image
FROM microsoft/aspnetcore:2.0.3
WORKDIR /zkeacms
COPY --from=builder /build/src/ZKEACMS.WebHost/bin/Release/PublishOutput .
EXPOSE 80
ENTRYPOINT ["dotnet", "ZKEACMS.WebHost.dll"]

简单解释一下,首先,需要使用microsoft/aspnetcore-build来发布纸壳CMS,因为microsoft/aspnetcore只是runtime,并不能release。

  1. 定义编译环境builder
  2. 将源代码复制到编译环境中的build目录
  3. 执行 restore
  4. 定位到 ZKEACMS.WebHost 目录,执行发布命令 dotnet publish-zkeacms
  5. 定义运行环境为 microsoft/aspnetcore:2.0
  6. 将发布好的内容从编译环境中复制到运行环境中

整个Dockerfile的定义很简单,如果您已经有安装了docker,将代码保存到项目的根目录,文件名为Dockerfile,就可以直接使用docker build来生成docker image了。

docker build -t zkeacms .

自动构建

已经定义好了Dockerfile,并可以在docker的环境中编译,发布,那现在就可以使用容器镜像服务来自动构建了。

Docker Hub

使用Docker Hub,创建一个自动构建的仓库,连接到GitHub中的项目,可以轻松实现自动构建

选择一个你的项目

在创建好你的仓库以后,简单设置一下分支和Dockerfile的路径,就可以了

阿里云容器镜像服务

如果你觉得Docker Hub太慢了,在国内,你可以使用阿里云的容器镜像服务。https://dev.aliyun.com/search.html

新建一个镜像仓库就行了:

在设置好以后,你会发现在你的项目设置中,会多了Webhooks或者Integrations & services

原文链接:http://www.zkea.net/codesnippet/detail/post-78

转载于:https://www.cnblogs.com/seriawei/p/zkeacms-docker.html

用Docker自动构建纸壳CMS相关推荐

  1. zkeacms mysql_在Docker中运行纸壳CMS并配置使用MySql

    纸壳CMS是基于ASP .Net Core开发的可视化内容管理系统,可以跨平台部署,可以在容器中运行.接下来看看如何在docker中运行纸壳CMS. 方式一 直接运行以下命令即可在docker中运行纸 ...

  2. 纸壳CMS升级.Net5免费下载

    .Net 5 微软的.Net 5已经发布,我们也在第一时间做了适配.新版本最大的改动是升级到了微软最新的.Net 5,性能得到了显著提升.所以在升级使用3.3.6之前,请先更新你的运行环境. 升级指南 ...

  3. 纸壳CMS 3.3.6发布升级.Net 5

    .Net 5 微软的.Net 5已经发布,我们也在第一时间做了适配.新版本最大的改动是升级到了微软最新的.Net 5,性能得到了显著提升.所以在升级使用3.3.6之前,请先更新你的运行环境. 升级指南 ...

  4. 纸壳CMS可视化建站系统搭建多语言网站

    纸壳CMS是可视化建站系统,现已经从架构上支持多语言.但是多语言功能默认是没有开启的.您可以从设置中开启多语言,或者随时关闭它,您可以随时进行切换. 开启多语言 如果您没有在系统设置中看到多语言设置菜 ...

  5. 纸壳CMS体验升级,快速创建页面,直接在页面中修改内容

    关于纸壳CMS 纸壳CMS又名 ZKEACMS Core 是ZKEACMS的 .net core 版本,可运行在 .net core 1.1 平台上.是一个开源的CMS. 纸壳CMS对于 ZKEACM ...

  6. 纸壳CMS(ZKEACMS)体验升级,快速创建页面,直接在页面中修改内容

    关于纸壳CMS 纸壳CMS又名 ZKEACMS Core 是ZKEACMS的 .net core 版本,可运行在 .net core 1.1 平台上.是一个开源的CMS. 纸壳CMS对于 ZKEACM ...

  7. 纸壳CMS主题增强,支持主题中加入模板

    背景 在之前,纸壳CMS的主题仅仅只是CSS样式,并不支持在主题下使用模板来构建不同的HTML结构.现在我们对主题功能做了增强,可以在主题下添加各自的模板,这样在制作主题时,就会更加自由.不仅如此,新 ...

  8. 纸壳CMS可视化建站系统创建多语言网站

    纸壳CMS是可视化建站系统,现已经从架构上支持多语言.但是多语言功能默认是没有开启的.您可以从设置中开启多语言,或者随时关闭它,您可以随时进行切换. 开启多语言 如果您没有在系统设置中看到多语言设置菜 ...

  9. 纸壳cms支持php坏境吗,如何参与纸壳CMS开发以及贡献代码

    纸壳CMS是基于GPL v3.0开源协议开源的自由软件,可以免费使用它来做任何开源项目.同时也可以提交您的代码到官方仓库,让您的修改不被覆盖.比如你修改了一个已知的BUG,就可以将你的修改提交给主仓库 ...

最新文章

  1. 三种方法让信息在局域网中自由散发
  2. qc linux mysql 安装教程_mysql5.7在centos上安装的完整教程以及相关的“坑”
  3. MySQL注射绕过技巧(三)
  4. 前端学习(2823):sitemap配置
  5. django-xadmin出现Models aren't loaded yet错误
  6. python中的继承有什么特点_Python类的继承机制是什么
  7. 高德坐标转百度坐标并导航
  8. 【交通标志识别】基于matlab SIFT交通标志识别【含Matlab源码 717期】
  9. 内存超频时序怎么调_超频讲解:内存时序设置说明二
  10. uv转化率多少正常_浏览量(PV)和访客数(UV)和跳出率是什么意思?
  11. win10taskkill强行结束进程_win10强制关闭进程快捷键
  12. ios 图片居中裁剪_iOS 自定义裁剪相册照片
  13. 押宝线下渠道 能否拯救陷入芯片困境的魅族?
  14. 绘制鱼骨图,卡壳了,找到了别人的文章,先好好学习理论知识。
  15. epub是什么文件?epub文件怎么打开?
  16. 单集群10万节点 走进腾讯云分布式调度系统VStation
  17. CSS3实现径向渐变
  18. 计算机专业的励志人物,北京科技大学计算机与通信工程学院-【毕业学子未来路】王禹:保入中科院的全国大学生励志人物...
  19. Mac OSX系统下安装和删除程序
  20. python多线程爬取段子_Python爬虫实战之一秒爬取内涵段子

热门文章

  1. linux vector 头文件,LINUX 之Vector用法
  2. tf 如何进行svd_Tensorflow快餐教程(6) - 矩阵分解
  3. c语言设计 数组的知识点,C语言程序设计知识点及示例.pdf
  4. java property_property在Java中的用法
  5. 汇编写java模块_java – maven汇编插件moduleset源指令不包括任何文件,不符合附带的模块...
  6. vb.net mysql存储图片_怎么让VB.NET 上传图片到SQL 数据库只保存路径,图片保存到文件...
  7. Linux 安装之U盘引导
  8. 二叉树中的最大路径和
  9. Java ObjectInputStream readLong()方法(带示例)
  10. php数组的声明和类型