• 用Docker自动构建纸壳CMS


    纸壳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

  • 相关阅读:
    C++文件读写详解(ofstream,ifstream,fstream)
    C++ char*,const char*,string,int 的相互转换
    Properties --- C++读配置信息的类
    值得推荐的C/C++框架和库
    leetcode 264: Ugly Number II
    几种Tab的实现方法
    HBase数据存储格式
    粗略。。Java项目设计模式之笔记----studying
    开放的平台、向上的文化——揭秘万达电商(4)
    RecyclerView
  • 原文地址:https://www.cnblogs.com/seriawei/p/zkeacms-docker.html
Copyright © 2020-2023  润新知