本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
!Strapi
strapi/base 是 Strapi 的官方基础镜像,用于构建 strapi/strapi 应用镜像。它提供标准化的运行环境,支持将 Strapi 应用容器化,简化生产环境部署流程。
在 Strapi 项目根目录下创建 Dockerfile,基于 strapi/base 构建自定义应用镜像。示例参考仓库中的 ./examples/custom 目录。
基础 Dockerfile 结构:
# 基于 strapi/base 镜像 FROM strapi/base # 设置工作目录 WORKDIR /app # 复制项目依赖文件(优先复制 package.json 以利用 Docker 缓存) COPY package.json package-lock.json ./ # 安装生产依赖 RUN npm install --production # 复制项目源代码 COPY . . # 构建 Strapi 应用(生成优化后的前端资源) RUN npm run build # 暴露 Strapi 默认端口(1337) EXPOSE 1337 # 启动应用 CMD ["npm", "start"]
在项目根目录执行以下命令构建镜像:
docker build -t my-strapi-app:latest .
-t my-strapi-app:latest:指定镜像名称和标签(可自定义)。.:表示使用当前目录的 Dockerfile。构建完成后,通过 docker run 启动容器:
docker run -d -p 1337:1337 --name my-strapi-container my-strapi-app:latest
-d:后台运行容器。-p 1337:1337:映射容器端口 1337 到主机端口 1337。--name my-strapi-container:指定容器名称。创建 docker-compose.yml 管理多服务(如 Strapi + 数据库),示例如下:
version: '3.8' services: strapi: build: . # 基于当前目录 Dockerfile 构建 image: my-strapi-app:latest ports: - "1337:1337" # 端口映射 environment: # Strapi 核心环境变量(根据实际需求调整) - NODE_ENV=production # 生产环境模式 - DATABASE_CLIENT=postgres # 数据库客户端(支持 postgres/mysql/sqlite 等) - DATABASE_HOST=db # 数据库服务名称(与下方 db 服务对应) - DATABASE_PORT=5432 # 数据库端口 - DATABASE_NAME=strapi # 数据库名称 - DATABASE_USERNAME=strapi # 数据库用户名 - DATABASE_PASSWORD=strapi # 数据库密码 - PORT=1337 # 应用监听端口 depends_on: - db # 依赖 db 服务启动后再启动 restart: unless-stopped # 异常退出时自动重启 db: image: postgres:14 # 使用 PostgreSQL 14 镜像(可替换为其他数据库) environment: - POSTGRES_DB=strapi - POSTGRES_USER=strapi - POSTGRES_PASSWORD=strapi volumes: - postgres_data:/var/lib/postgresql/data # 持久化数据库数据 restart: unless-stopped volumes: postgres_data: # 定义数据卷,持久化数据库数据
启动服务:
docker-compose up -d # 后台启动所有服务
若需构建本仓库中的基础镜像(非应用镜像),可通过仓库提供的构建脚本操作:
# 查看构建选项 ./bin/build.js --help # 示例:构建指定版本的 strapi/base 镜像 ./bin/build.js --version 4.15.0 --platform linux/amd64
strapi/base 镜像本身不包含应用级配置,需在 Dockerfile 或部署时通过 environment 传递 Strapi 应用配置,常用变量如下:
| 变量名 | 说明 | 默认值 |
|---|---|---|
NODE_ENV | 运行环境(开发/生产) | development |
PORT | 应用监听端口 | 1337 |
DATABASE_CLIENT | 数据库客户端(如 postgres) | sqlite |
DATABASE_HOST | 数据库主机地址 | - |
DATABASE_PORT | 数据库端口 | 5432(postgres) |
DATABASE_NAME | 数据库名称 | strapi |
DATABASE_USERNAME | 数据库用户名 | - |
DATABASE_PASSWORD | 数据库密码 | - |
ADMIN_JWT_SECRET | 管理员 JWT 密钥(安全必备) | 自动生成 |
构建镜像时可通过 --build-arg 传递自定义参数(如 Node.js 版本),示例:
docker build --build-arg NODE_VERSION=18.x -t my-strapi-app:latest .
ADMIN_JWT_SECRET 等敏感参数,避免使用默认值。strapi/base 版本与项目中 Strapi 版本匹配,避免依赖冲突。docker run --memory=2g),避免资源耗尽。
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429