HashiCorp Learn Docker镜像是用于构建和本地开发HashiCorp学***平台(learn.hashicorp.com)的容器化解决方案。该镜像封装了平台运行所需的全部依赖环境,允许开发者在无需本地配置Node.js的情况下快速搭建开发环境,支持内容预览、热重载及静态站点生成,主要用于平台内容的本地开发、测试和构建。
通过预构建镜像可快速启动开发环境,适用于常规内容开发:
bash# 拉取并运行预构建镜像(映射3000端口,挂载项目目录) docker run -it -p 3000:3000 -v $(pwd):/app hashicorp/learn:latest
参数说明:
-p 3000:3000:将容器3000端口映射到本地,用于访问开发服务-v $(pwd):/app:挂载本地项目目录到容器,实现文件实时同步-it:交互式终端,支持日志输出和Ctrl+C终止当修改package.json等依赖文件时,需重新构建本地镜像:
bash# 构建本地镜像(基于项目Dockerfile) docker build -t learn-website-local . # 使用本地镜像启动开发服务 docker run -it -p 3000:3000 -v $(pwd):/app learn-website-local
服务启动后,通过以下地址访问本地平台:
http://localhost:3000/consul对应Consul课程/consul/getting-started/install内容文件按以下层次组织:
pages/ └── {product}/ # Curriculum级目录(如consul/、terraform/) ├── {trackName}/ # Track级目录(可多层嵌套,构成Track名称) │ └── {topic}.mdx # Topic文件 └── __shared__/ # 跨Track共享的Topic目录
示例解析:
pages/consul/advanced/advanced-operations/autopilot.mdx
consul/:Curriculum(课程)advanced/advanced-operations/:Track(轨道)autopilot.mdx:Topic(主题页面)遵循HashiCorp工程Markdown风格指南,采用CommonMark规范,支持:
创建扩展名为.mdx的文件(仅允许单个扩展名),路径即URL路由(如pages/hello/world.mdx对应/hello/world)。文件需包含YAML前置元数据(Frontmatter),必填项:
yaml--- name: "页面标题" # HTML标题 content_length: 5 # 预计阅读时间(分钟,可通过`npm run estimate-reading-times`自动生成) id: "unique-topic-id" # 用于课程关联的唯一标识 products_used: ["consul"] # 涉及的HashiCorp产品列表 description: "页面简短描述" # 用于元数据和课程列表展示 level: "getting-started" # 内容级别,可选:getting-started/operations-and-development ---
需在data/{product}.yml中配置Topic与Track的关联,示例:
yaml# data/consul.yml tracks: - name: "Getting Started" id: getting-started topics: - install # 对应Topic的id字段 - configure - autopilot # 关联pages/consul/getting-started/autopilot.mdx
支持在同一产品的多个Track中共享Topic,步骤如下:
创建共享目录:在pages/{product}/下创建__shared__目录
bashmkdir pages/terraform/__shared__
编写共享Topic:在__shared__目录中创建.mdx文件,文件名建议与id一致
mdx# pages/terraform/__shared__/reference-architecture.mdx --- id: reference-architecture # 共享标识,用于Track引用 level: Implementation products_used: ["terraform"] # 其他元数据... ---
关联到Track:在data/{product}.yml的多个Track中引用该id
yaml# data/terraform.yml tracks: - name: "Day One" topics: [setup, reference-architecture] # 引用共享Topic - name: "Operations" topics: [scale, reference-architecture] # 同一Topic关联到另一Track
创建符号链接:在各Track目录中创建指向共享文件的符号链接
bash# 示例:为Day One Track创建链接 cd pages/terraform/day-one ln -s ../__shared__/reference-architecture.mdx reference-architecture.mdx
bashgit clone -c core.symlinks=true [***]
Percy用于检测UI视觉变化,仅在分支名以run-percy开头时触发(如run-percy.update-style),流程建议:
run-percy-catchup分支运行Percy,批准历史变更run-percy.feature-name),获取无干扰的差异结果权限说明:需通过#team-mktg-webdev申请Percy访问权限
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429