服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - 将博客迁移至docker纪实

将博客迁移至docker纪实

2021-01-22 20:13转交遇见陈绮贞 服务器知识

作者个人博客一直是跑在阿里云主机上的,最近接触了docker 心血来潮想把自己的应用打包到docker容器中去,方便以后的迁移部署,这里把经验给大家总结分享下

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

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

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

下面是博客的dockerfile(本体fork自YuukoBlog,个人只是做了一些微小的修改...),

其中dbdata目录是为了挂载本地的sqllite,防止以后删除容器博客数据丢失。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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"]

 

延伸 · 阅读

精彩推荐