当前位置: 首页 > 编程笔记 >

将博客迁移至docker纪实

景鹏飞
2023-03-14
本文向大家介绍将博客迁移至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"]
 类似资料:
  • 如果你要从其他博客迁移到 Jekyll,Jekyll 导入器可以帮助你。想了解更多关于导入站点至 Jekyll 的信息,请查看我们的 jekyll-import文档页面。

  • 如果你开始在GitBook上写书了,但现在你想把它的源代码托管到GitHub上,不用担心,这很简单: 使用GitHub导入工具 使用GitHub的导入工具:import.github.com/new。 输入你的GitBook的git url,例如:https://git.gitbook.com/MyName/MyBook.git(这个url可以在你书本的设置中找到)。 输入你的GitHub仓库。

  • 我正在将一个网站从AEM 5.6.1迁移到6.3或6.5。我将不得不使用就地升级。我尝试为演示站点Geometrix运行测试迁移,该站点默认在5.6.1上创建,但没有成功。以下是我执行的步骤: 将Java 7设置为默认值 通过java-jar运行aem-5.6.1-author 检查Geometrix站点是否正常工作 停止aem-5.6.1 复制aem-6.3-quickstart。jar到目录c

  • BlogEngine.NET(博易) 是一款免费、开源的博客系统。2008年至今,本博基于 BlogEngine.NET 进行中文本地化,并将其努力在中国进行推广和应用。 博易遵循 W3C 标准,具有极强的可扩展性、高性能、良好的 SEO 性能和非凡的用户体验。不仅如此,博易还拥有一批高质量的用户群,他们的支持使博易得以不断地发展。 博易不仅开源,而且免费。所有的技术支持全部都是无偿提供的!博易的

  • 大多情况,从npm客户端迁移至Yarn客户端都是很方便的。package.json文件依然可用,你只要在已有目录执行以下命令即可: $ yarn 要添加依赖,你可以使用: $ yarn add <package> 执行以上两个命令后,yarn都会在项目根目录创建或更新yarn.lock文件。如果你要将项目发布或者共享给同事,请确保包含yarn.lock文件。 执行以上两个命令中的任一个,项

  • 有人能告诉我在哪里可以找到关于EJB 3的默认JNDI命名的信息吗? Weblogic是否使用像Glassfish这样的可移植JNDI名称? 我能找到(比如Glassfish)使用JNDI名称的EJB部署跟踪吗? 例如: 只有@Remote的接口(服务) 只有@Stateless实现接口的bean(ServiceImpl) 所有东西都打包在文件(service-application-1.0) 在