将博客迁移至docker纪实

 更新时间:2017年05月02日 08:37:11   作者:转交遇见陈绮贞  
作者个人博客一直是跑在阿里云主机上的,最近接触了docker 心血来潮想把自己的应用打包到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容器导致磁盘空间不足无法访问的解决方法

    Docker容器导致磁盘空间不足无法访问的解决方法

    本文主要介绍了Docker容器导致磁盘空间不足无法访问的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • docker-compose启动minio方式

    docker-compose启动minio方式

    文章介绍了创建文件夹、配置docker-compose.yml、开启防火墙以及验证服务的步骤,适用于新版和老版的RELEASE数据格式
    2025-01-01
  • 使用Docker时内存占用过高的解决方案

    使用Docker时内存占用过高的解决方案

    在使用 Docker 进行容器化部署时,内存占用过高是一个常见问题,当服务器内存被耗尽时,会导致系统性能下降,甚至可能导致服务宕机,本文将介绍如何排查和解决 Docker 环境下的内存占用问题,需要的朋友可以参考下
    2024-12-12
  • 树莓派安装Docker的方法步骤

    树莓派安装Docker的方法步骤

    这篇文章主要介绍了树莓派安装Docker的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Docker 端口映射详细介绍

    Docker 端口映射详细介绍

    这篇文章主要介绍了Docker 端口映射详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • Docker和虚拟机的区别及说明

    Docker和虚拟机的区别及说明

    Docker与虚拟机(VM)主要差异在于实现方式及效率,Docker通过打包应用及其依赖于容器中,直接与操作系统内核交互,实现跨系统运行,而无需模拟整个操作系统,这使得Docker在体积、启动速度及性能上优于虚拟机,虚拟机通过模拟硬件环境
    2024-11-11
  • Docker容器中挂载NFS共享目录的实现

    Docker容器中挂载NFS共享目录的实现

    这篇文章主要介绍了Docker容器中挂载NFS共享目录的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • docker容器修改端口和目录映射的方法步骤

    docker容器修改端口和目录映射的方法步骤

    在使用Docker时,容器的端口映射是一个核心概念,它允许容器与宿主机以及外部网络进行通信,这篇文章主要介绍了docker容器修改端口和目录映射的方法步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • 使用Dockerfile构建java web环境

    使用Dockerfile构建java web环境

    用dockerfile构建一个Java的web环境,主要分为2步,第一步是在镜像中安装jdk并配置环境变量,第二步是安装tomcat,下面分步骤给大家详细介绍,一起看看吧
    2016-12-12
  • Docker的基本概念、安装步骤以及一些简单的用法

    Docker的基本概念、安装步骤以及一些简单的用法

    Docker 是一种开源的容器化平台,允许开发者打包应用及其依赖项到一个可移植的容器中,容器可以在任何支持Docker的环境中运行,这使得应用的部署和管理变得更加简单和高效,本文介绍Docker的基本概念、安装步骤以及一些简单的用法,感兴趣的朋友一起看看吧
    2024-11-11

最新评论