轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥8起我的订单
文档
工具
提交工单页面收录
learn-website

hashicorp/learn-website

hashicorp

用于构建learn.hashicorp.com网站的Docker镜像

4 次收藏下载次数: 0状态:社区镜像维护者:hashicorp仓库类型:镜像最近更新:4 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

DockerHub 官方简介
轩辕镜像中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,加速的不只是镜像。
点击查看

HashiCorp Learn

The HashiCorp learning platform, found at https://learn.hashicorp.com

Table of Contents

  • Local Development
  • Terminology
  • Deployment
  • Working with Markdown
    • Markdown
      • Markdown style guide
      • Authoring pages
      • Adding to a curriculum
    • Using Components
    • Pages
    • Sharing topics across tracks
    • Notes for Windows users
    • Optional Visual Diff Testing with Percy

Local Development

You can work on the website locally with hot-reloading content and styles. There are two options for local development:

  • Node.js: If you have node.js installed, you can get started initially by installing dependencies using npm install, then run the site in local development mode using the command npm run dev. This is much faster both to startup and reload, and recommended for core developers and/or frequent contributors. You can run npm run build to generate the files for the static site without starting the local server. For troubleshooting, you can run npm run static on your local machine to recreate the error locally.

  • Docker: You can run this website with only Docker, if you do not have node.js installed on your machine. You must however have Docker for Mac, Windows, etc. installed. The benefit is that you ONLY need Docker, and no other dependencies. The downside is that this approach is a bit slower. The bootup time will be a minute or two, but after that you will get hot-reloading and development will be fast. Simply running, make will pull down a pre-built Docker image and run the website within the image, exposing it at port 3000. If you make a change to the node dependencies at all, you'll need to regenerate the image using make build-image then run the website using the locally built container with make website-local.

In either scenario, you can visit the local website at http://localhost:3000. When you modify content, the website should automatically reload, you do not have to stop and restart the development environment.

NOTE: When you navigate between pages for the first time in local dev mode, the styling will not appear. Reloading the page will resolve this issue. We are aware this is not an ideal experience and it will be resolved as a part of this asana ticket: [***]

Understanding Terminology

This project specifically is organized using a set of terminology that it's important to understand in order to be able to work with the project. We'll go through each of these terms below in order to make them clear.

  • Topic: An individual page containing a single learn guide. For example, /consul/getting-started/install.
  • Track: A collection of topics in a group. Tracks do not have their own view, but are visually grouped together on curriculum pages. For example, consul's "getting started" guides.
  • Curriculum: All of the tracks and topics for one specific product. For example, /consul.

In the filesystem, you can find curriculum-level content under pages/{product}, track-level content under pages/{product}/{trackName}. Tracks can be multiple levels deep, and anything past the first level is part of the name of the track. So for example, pages/consul/advanced/advanced-operations/autopilot.mdx would be broken down as such:

[consul/]   [advanced/advanced-operations/]   [autopilot.mdx]
^           ^                                 ^
curriculum  track                             topic

This is a bit confusing when you look at the data/{product}.yml file. You will see that the "curriculum" level is cleanly separate, each curriculum has its own data file. The "tracks" level is where things get a little difficult. It is clear that each track is an item under tracks, but beyond that things become a bit mixed up when looking at level, id, and the id on the topics array. We may take another look at this in the future, but for now, go with you gut when it comes to organizing data in that file, but when it comes to the filesystem, follow the guide above.

Deployment

At the moment, this website is configured to deploy through netlify, directly on the master branch. It can be seen at [***] If you need access to the netlify instance for any reason, please reach out the the web platform team.

Creating Content

There are a few different types of content that can be created, but the majority of contributions to content will be via markdown files in the pages/ directory.

Working with Markdown

Markdown Style Guide

Learn content should follow the https://github.com/hashicorp/engineering-docs/blob/master/writing/markdown.md. Refer to this guide for information on inline styles and best practices.

Authoring Pages

To create a new page with Markdown, create a file ending in .mdx in the pages/ directory. The files should have only one extension: .mdx. Any additional extensions will cause errors, and are not necessary. The path in the pages directory will be the direct URL route. For example, pages/hello/world.mdx will be served from the /hello/world URL.

NOTE: If you are running the local dev watcher and add a new page, you will see an error that looks like "Error: Unable to find page: '{name of your page}'". If you restart the watcher (ctrl+c, npm run dev again), your new page will be present. We're aware this is not ideal and are working on a solution, which can be tracked in this asana task: [***]

This file can be standard Markdown and also supports YAML frontmatter. The required keys in the YAML frontmatter are:

  • name (string) - This is the title of the page that will be set in the HTML title.
  • content_length (number) - The estimated number of minutes it will take to get through the lesson. This can be auto-generated based on the amount of text using npm run estimate-reading-times.
  • id (string) - Used to identify the page when adding it to a curriclum
  • products_used (array) - Identify each HashiCorp product used in the guide. This can be one or many.
  • description (string) - A short description of the article, to be used as metadata and where it appears in the curriculum list.
  • level (string) - At the moment, there are two "levels" an article can be in, getting-started and operations-and-development. Choose one of these to appriopriately categorize your content.

It is important to be accurate when authoring YAML content. If you are not familiar with YAML syntax, please take a moment to familiarize yourself via this https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html. Additionally, these are several spots in which it's useful to understand multiline syntax with yaml, which this guide is very helpful for. In the future, we plan to add a yaml linting github check that will warn about any syntax errors, but in the meantime they will result in either an error preventing the site from building, or a mistake on your article's data or categorization.

Understanding markdown syntax is also very important. We adhere to the https://commonmark.org/ spec, and this is an excellent resource for learning how to author clean, functional markdown. To be more specific, our markdown is parsed by a library called MDX, which you can play with and test here. MDX also allows react components to be rendered within your document, which is a capability we look forward to taking advantage of, and we will fill out this readme further once we have started making inroads.

There are only a couple of caveats currently outside of the standard commonmark spec to take note of:

  • When you create a fenced code block, you may add a language after the three backticks get syntax highlighting, much like in github. Here's a https://github.com/highlightjs/highlight.js/tree/master/src/languages you can use for highlighting. Using an invalid language name will result in your code not being highlighted.
  • We have a custom markown extension that allows the use of custom alert boxes, https://github.com/hashicorp/remark-plugins/tree/master/plugins/paragraph-custom-alerts#paragraph-custom-alerts. Note that we do plan to deprecate this extension and replace it with react elements in the future.

If you plan to add html directly to your markdown file, please consult with the web platform team first. Html within markdown files causes a lot of issues, and there is almost always a better way. We do plan on adding a markdown linter, much like yaml, that will catch common markdown errors, and will error in the presence of any html elements. However, until that happens, it's important to be extra careful that you are writing high quality markdown!

Adding To A Curriculum

Once you have started writing an article, the next step is to add that article to a curriculum so that you can preview how it looks. Any article that has not been added to a curriculum cannot be previewed, and there should be no situation in which an article that is not in a curriculum should be merged into master. We also plan to add a github check that will fail any pull request that includes an "orphan" article, so please be mindful of this. If you are working on a draft, keep the work in a pull request until the draft is complete and it has been added to a curriculum.

To add an article to a curriculum, head on over to the data folder and select the product you'd like the article to be in the curriculum for. Then scroll down to the tracks, select the track you would like the article to appear within, and add that article's id to the topics array. If you have done this correctly, you should be able to see the article appear in that track, and click into it to see the article fully render. If this is not happening, make sure to double check and ensure that you don't have a typo on the id in either the front matter for the article, or the topics list.

Using Components

React components can be imported to an .mdx file to provide additional and content features. See the components/ directory for a full list.

To use a component within an .mdx file, insert an import statement within your .mdx file, just after the Front-Matter. Components only need to be imported one time in each file. You can then call the component inline in your file, wherever you would like to use the component.

For example:

mdxjs
---
content_length: 5
id: example-demo
level: Implementation
products_used:
  - Vault
name: Example Demo
description: Example
---
import ComponentName from '../../../components/component-name'

<!-- Guide content -->

<ComponentName take-some-action />

<!-- Guide content -->

Content related components include:

  • https://github.com/hashicorp/learn/tree/master/components/video-embed

Pages

If you need to create a new page that is not a markdown file, please consult with the platform team #team-web-platform first. That being said, to create a page, create a TypeScript (tsx or ts) or JavaScript (jsx or js) file in the pages/ directory. The path to the file will also be the URL to the page.

TypeScript and JavaScript pages enable more complex behavior, data querying, and more. These should be used for layout files, dynamic pages, etc. For TypeScript or JavaScript files, the defaut ES6 export should be a React Component. This will be rendered for the page. For more docs on page creation and our standards around data fetching etc. please refer to the https://www.github.com/hashicorp/next-hashicorp

Sharing Topics Across Tracks

Support is built-in for sharing topics across multiple tracks within a specific product. You can see this utilized within /pages/vault/.

Reusable topics must be placed within a corresponding __shared__ folder, residing under the product's pages directory. (i.e. terraform => /pages/terraform/__shared__). All shared content will live in the __shared__ directory.

In order to create and use shared content (topic) across different tracks, follow these steps:

  1. Create __shared__ directory if it does NOT exist.
bash
$ mkdir pages/terraform/__shared__
  1. Author the topic source file (.mdx) in the __shared__ folder.
plaintext
---
id: reference-architecture
level: Implementation
products_used:
  ...
---

The topic id (in this case, reference-architecture) is used to reference this topic across multiple tracks.

NOTE: As a best practice, name your source file as <id>.mdx (e.g. reference-architecture.mdx).

  1. Reference the shared content in the appropriate .yml file's track data.
diff
tracks:
  - name: 'Track 1'
    id: day-one
    ...
    topics:
      - topic_id_A
      - topic_id_B
      - reference-architecture

  - name: 'Track 2'
    id: operations
    ...
    topics:
      - topic_id_X
      - topic_id_Y
      - reference-architecture
  1. Create a symbolic link that targets the shared content.

IMPORTANT: The reference path of the source file should be relative to the repository, NOT absolute path to the machine.

Mac & Linux (bash)

bash
# First change the working directory to the target location
cd pages/terraform/day-one

# Now, create a symbolic link
# ln -s <source_file> <target_file>
ln -s ../__shared__/reference-architecture.mdx reference-architecture.mdx

# Repeat the steps for all tracks
cd ../operations && ln -s ../__shared__/reference-architecture.mdx reference-architecture.mdx

Windows (PowerShell)

powershell
New-Item -ItemType SymbolicLink -Path "~\day-one\reference-architecture.mdx" -Target "..\__shared__\reference-architecture.mdx"

New-Item -ItemType SymbolicLink -Path "~\operations\reference-architecture.mdx" -Target "..\__shared__\reference-architecture.mdx"

Performing the steps above produces a url: terraform/day-one/reference-architecture and terraform/operations/reference-architecture that resolve with the contents inside terraform/__shared__/reference-architecture.mdx.

Notes for Windows users

In order to resolve symbolic links in this repo correctly on Windows 10, Git for Windows will need symbolic links enabled. The proper flags should be set upon cloning the repo:

shell
git clone -c core.symlinks=true <URL>

More pertinent details on this process can be found https://github.com/git-for-windows/git/wiki/Symbolic-Links

If the above cloning does not work properly, you can check your https://git-scm.com/docs/git-config#Documentation/git-config.txt-coresymlinks, and if all else fails you should be able to enable symbolic links on your Git for Windows install.

When cloning (to get symlink support) or creating a symlink on Windows (via PowerShell or mklink), you may need to use an elevated (admin) shell. As of a recent update though, creating symlinks should be supported if Developer Mode is enabled on your machine.

Optional Visual Diff Testing

Percy is a visual diff testing tool that is used across a number of projects. Typically it runs on every Pull Request and shows visual changes between the primary branch (usually master) and the Pull Request branch.

Note: If you need access to Percy, please reach out on #team-mktg-webdev

Percy is particularily useful when making design changes to a project as it highlights all visual changes. This is helpful for verifying expected changes and catching unintended changes.

Because of the volume of pages on Learn a Percy run can add 10 - 12 minutes to the overall GitHub checks run time. Coupled with the fact that most PRs are content changes or updates, it doesn't make sense to slow down GitHub checks with a Percy run on every Pull Request.

To make Percy runs optional, a CircleCI branch filter in in place. Percy will only run a diff check for branches that start with run-percy (ie. run-percy.mw.update-feature or run-percy-change-something). See the https://github.com/hashicorp/learn/pull/829 for some additional detail.

Percy Workflow

Because the period of time between Percy runs may be large, each sequential Percy run may contain a large volume of changes. It's recommended that you first spin up a 'dummy' branch with Percy enabled (like run-percy-catchup) so that Percy will run and highlight all the changes that have occurred since its last run. You should then be able to approve those changes, and delete the dummy branch. Now, go ahead and open up your branch as normal (like run-percy.mw.thing-to-work-on) and you'll get nice, noise free diffs for what you're working on.

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 learn-website 镜像标签

docker pull docker.xuanyuan.run/hashicorp/learn-website:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull hashicorp/learn-website:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

爱快 4.0 · iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

专属域名用法

专属域名 · 开启停用 · 多仓库

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

docker.sock / daemon

账号

失败是否计费

manifest · blob · 计费

申请开票(企业 / 个人)

开票 · 发票 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
hashicorp/learn-website
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥8/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱

更多 learn-website 镜像推荐

demisto/sklearn logo

demisto/sklearn

demisto
暂无描述
1 次收藏50万+ 次下载
3 天前更新
hashicorp/nomad-website logo

hashicorp/nomad-website

hashicorp
用于构建Nomad文档网站的工具镜像,提供预配置构建环境,支持本地开发预览与CI/CD自动化构建流程。
3 次收藏10万+ 次下载
4 年前更新
edirom/vife-website logo

edirom/vife-website

edirom
基于Nginx的ViFE网站Docker镜像,用于部署和运行ViFE网站
1 次收藏100万+ 次下载
1 天前更新
demisto/machine-learning logo

demisto/machine-learning

demisto
暂无描述
10万+ 次下载
3 年前更新
learncli/comp211 logo

learncli/comp211

learncli
为UNC系统课程(包括COMP 211、COMP 530、COMP 730)定义环境的Docker镜像,提供课程所需的标准化运行环境支持。
2 次收藏5万+ 次下载
1 年前更新
mathworks/matlab-deep-learning logo

mathworks/matlab-deep-learning

mathworks
包含深度学习工具箱、预训练模型及其他工具箱的MATLAB Docker容器,用于支持深度学习等任务。
13 次收藏5万+ 次下载
4 天前更新

查看更多 learn-website 相关镜像

更多相关 Docker 镜像与资源

以下是 hashicorp/learn-website 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • hashicorp/vault Docker 镜像说明(HashiCorp Vault,密钥管理和安全服务,适合企业级安全需求)
  • library/vault Docker 镜像说明(HashiCorp Vault 官方镜像,适合密钥管理与加密服务)
  • bitnamicharts/vault Docker 镜像说明(Bitnami HashiCorp Vault 图表栈,适合密钥管理 K8s 部署)
  • library/consul Docker 镜像说明(Consul 服务发现和配置管理,适合微服务架构)
  • hashicorp/consul Docker 镜像说明(Consul 服务发现和配置管理,HashiCorp 官方版本)