发布于 2026-01-06 1 阅读
0

在 Docker 上运行 Hugo 静态网站的酷炫方法

在 Docker 上运行 Hugo 静态网站的酷炫方法

只需两个简单的步骤,您就可以使用Kool在本地 Docker 开发环境中启动一个新的Hugo应用程序。

Kool是一款免费开源的命令行工具,它让使用 Docker 进行本地开发变得异常轻松。Kool CLI 将提升您的开发工作流程,并帮助您和您的团队改进云原生应用程序的开发和部署方式。

要求

如果您尚未安装Docker 和 Kool CLI,则需要先安装它们。

如果您已经kool安装了该软件,请确保您运行的是最新版本kool self-update

步骤 1 – 创建一个新的 Hugo 应用程序

使用该kool create命令创建新的 Hugo 项目。

$ kool create hugo my-project
Enter fullscreen mode Exit fullscreen mode

重要提示:如果您使用的是Windows WSLLinux,则应sudo kool create hugo my-project以超级用户身份运行(通过sudo),以避免在创建项目目录和文件时出现权限问题。

该命令底层将kool docker klakegg/hugo:ext-alpine new site my-project使用klakegg/hugo Docker 镜像运行。

现在,开始你的新 Hugo 项目:

$ cd my-project
Enter fullscreen mode Exit fullscreen mode

安装 Hugo 后,kool create会自动运行kool preset hugo命令,该命令会自动生成以下配置文件并将其添加到您的项目中。随着项目的演进,您可以轻松地修改和扩展这些文件以满足您的需求。

+docker-compose.yml
+kool.yml
Enter fullscreen mode Exit fullscreen mode

步骤 2 – 启动本地环境

如上所述,该kool preset命令会在您的项目中添加一个kool.yml文件。为了帮助您快速上手,kool.yml预置了一组基于您选择的框架和技术栈的初始脚本。由于 Hugo 需要一些额外的步骤来创建 Hello World 网站,kool.yml包含一个特殊的quickstart脚本,使创建过程变得非常简单。

您可以将kool.yml视为一个易于使用的任务助手。无需编写自定义 shell 脚本,只需将脚本添加到kool.yml 文件(位于 ` scriptskool.yml` 键下),然后使用 `kool.yml` 命令运行它们kool run SCRIPT(例如 `kool.yml` kool run hugo)。您可以添加单行命令(见hugo下文),也可以添加按顺序执行的命令列表(见quickstart下文)。

scripts:
    hugo: kool docker -p 1313:1313 klakegg/hugo:ext-alpine
    dev: kool run hugo server -D

    # remove or modify to suit the needs of your project
    quickstart:
        - kool start
        - git init
        - git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke
        - echo theme = \"ananke\" >> config.toml
        - kool run hugo new posts/my-first-post.md
        - kool run dev

    setup:
        - kool start
        - kool run dev
Enter fullscreen mode Exit fullscreen mode

请运行命令kool run quickstart启动 Docker 环境并初始化 Hugo 站点。

$ kool run quickstart
Enter fullscreen mode Exit fullscreen mode

如您在kool.yml中看到的,该quickstart脚本按顺序执行以下操作:运行命令kool start启动您的 Docker 环境;调用git init以创建 Git 存储库;下载 Ananke 主题;使用echo命令将主题添加到您的 Hugo 配置文件中;添加您的第一篇文章;然后调用kool run dev以构建您的 Hugo 站点。

就是这样!

完成后kool run quickstart,您应该可以通过http://localhost访问您的新网站,并看到“我的新 Hugo 网站”页面。太棒了!


kool status使用以下命令验证您的 Docker 服务容器是否正在运行

$ kool status
+---------+---------+------------------------------+--------------+
| SERVICE | RUNNING | PORTS                        | STATE        |
+---------+---------+------------------------------+--------------+
| app     | Running | 0.0.0.0:80->80/tcp, 1313/tcp | Up 2 minutes |
| static  | Running | 80/tcp                       | Up 2 minutes |
+---------+---------+------------------------------+--------------+
Enter fullscreen mode Exit fullscreen mode

运行此命令kool logs app以查看正在运行的容器的日志app

用于kool logs查看所有正在运行的容器的日志。-f在后面添加选项kool logs以跟踪日志(例如kool logs -f app)。

$ kool logs app
Attaching to my-project_app_1
app_1     |   Non-page files   |  0
app_1     |   Static files     |  0
app_1     |   Processed images |  0
app_1     |   Aliases          |  0
app_1     |   Sitemaps         |  1
app_1     |   Cleaned          |  0
app_1     |
app_1     | Built in 1 ms
app_1     | Watching for changes in /app/{archetypes,content,data,layouts,static}
app_1     | Watching for config changes in /app/config.toml
app_1     | Environment: "DEV"
app_1     | Serving pages from memory
app_1     | Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
app_1     | Web Server is available at http://localhost:80/ (bind address 0.0.0.0)
app_1     | Press Ctrl+C to stop
app_1     |
app_1     | Change of config file detected, rebuilding site.
app_1     | 2021-05-01 20:34:06.306 +0000
app_1     | Rebuilt in 136 ms
app_1     | adding created directory to watchlist /app/content/posts
app_1     |
app_1     | Change detected, rebuilding site.
app_1     | 2021-05-01 20:34:07.305 +0000
app_1     | Source changed "/app/content/posts/my-first-post.md": CREATE
app_1     | Total in 26 ms
Enter fullscreen mode Exit fullscreen mode

项目何时应该停止:

$ kool stop
Enter fullscreen mode Exit fullscreen mode

当你准备好再次开始编写代码时:

$ kool start
Enter fullscreen mode Exit fullscreen mode

如果你喜欢我们正在做的事情,请在 GitHub 上给我们点赞,以示对这个新开源项目的支持

提升您的开发工作流程

一旦你的新 Hugo 项目启动并运行起来,你就可以使用koolCLI 来提升你的开发工作流程。了解更多信息,请参阅“工作原理”

支持 Kool 开源项目

Kool 是开源软件,完全免费使用。如果您想了解更多关于该项目的信息,请访问kool.dev。如果您有任何疑问、需要支持或想参与其中,请加入我们的 Slack 频道

GitHub 标志 kool-dev / kool

从本地开发到云端:使用容器轻松开发 Web 应用。

kool - 云原生开发工具

成绩单 代码发现 Docker Hub Golang CI Lint 可维护性 加入 Slack Kool 社区 惊人的

关于kool

Kool是一款命令行工具,它简化了现代软件开发环境的复杂性,使这些环境变得轻量级、快速且可复现。它降低了本地环境中Docker容器的复杂性和学习难度,并提供了一个简化的界面,用于使用Kubernetes将测试环境和生产环境部署到云端。

Kool可以轻松快速地搭建并运行您的本地开发环境,让您有更多时间构建出色的应用程序。时机成熟后,您可以使用 Kool.dev Cloud 将您的作品部署到云端,与全世界分享!

Kool适用于个人开发者和各种规模的团队。它提供了一种轻松便捷的方式来处理 Docker 基础知识,让开发者能够立即开始使用容器进行开发,同时确保不会失去对更专业 Docker 环境的控制。

了解更多信息,请访问 kool.dev

安装

要求:Kool 由…提供支持




文章来源:https://dev.to/kooldev/the-kool-way-to-run-hugo-static-sites-on-docker-3k04