迁移博客至docker

由于五一前的这周工作需求不是很多,便趁着这个机会将博客迁移到了docker中,虽说网上docker相关文章有很多,第一次实践的我还是遇到了一些小问题,现在便来总结一下。

在这里我要推荐的是docker_practice,有中英文版本,很多细节知识都有讲到,非常适合入门学习。其次是docker hub,可以其上面寻找自己需要的一些镜像,这样可以有助于自己比较方便地写出自己想要的dockerfile。

我认为docker镜像最主要的好处是可复用,所以制作时需要注意生成镜像的大小,以便于网络传输。以dotnetcore为例,官方有专门的runtime镜像,build镜像,sdk镜像等等,根据自己的实际需求选择恰好满足自己需求的基础镜像就好。同时,dockerfile内能使用一条命令尽量使用一条命令,减少镜像的生成层数和生成时间。docker运行和预期不符时,善于使用docker logs来查看日志,利用好Google能解决许多问题。

下面是博客的dockerfile(本体fork自YuukoBlog,个人只是做了一些微小的修改...),
其中dbdata目录是为了挂载本地的sqllite,防止以后删除容器博客数据丢失。

FROM microsoft/dotnet:latest

RUN mkdir /package \
        && mkdir /dotnetapp

Copy . /package
RUN dotnet restore package/YuukoBlog/src/YuukoBlog/YuukoBlog.csproj \
        && dotnet publish package/YuukoBlog/src/YuukoBlog/YuukoBlog.csproj -c Release -o /dotnetapp \
        && rm -rf /package
VOLUME /dotnetapp/dbdata
WORKDIR /dotnetapp
ENV ASPNETCORE_URLS http://*:5000
EXPOSE 5000

ENTRYPOINT ["dotnet", "YuukoBlog.dll"]                                     
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,694评论 15 147
  • 0. 前言 docker是什么?docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。可...
    sessionboy阅读 9,254评论 2 49
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 13,576评论 0 120
  • 这个周末一直都在吃 周五的晚上为了赶高铁没吃晚饭 10点还是叫了烧烤 没有多好吃 就是馋肉 哦 烧烤总是香的 烂脸...
    SecretPlant阅读 1,644评论 0 0
  • 我看完了李雪的《当你遇见一个人》。我觉得这个人,其实主要是你自己。这本书主要介绍母婴关系对一个人的影响。母婴关系的...
    BelovedNutan阅读 3,142评论 0 1