civiform/formatter该Docker镜像为CiviForm代码库提供了自动格式化所需的完整依赖环境,集成了代码格式化工具及其运行时依赖,旨在简化开发流程并确保团队代码风格的一致性。
bash# 示例:从Docker Hub拉取最新版本 docker pull civiform/civiform-autoformat-deps:latest # 示例:拉取指定版本(推荐生产环境使用固定版本) docker pull civiform/civiform-autoformat-deps:v1.2.0
挂载本地代码目录至容器,执行格式化命令:
bashdocker run --rm \ -v $(pwd):/app \ # 挂载本地代码目录到容器工作区 -w /app \ # 设置容器工作目录 civiform/civiform-autoformat-deps:latest \ prettier --write . && eslint --fix . # 执行格式化命令
镜像内置默认格式化命令(可通过环境变量覆盖):
bashdocker run --rm -v $(pwd):/app -w /app \ civiform/civiform-autoformat-deps:latest
| 变量名 | 描述 | 默认值 |
|---|---|---|
WORKDIR | 容器内工作目录 | /app |
FORMAT_CMD | 默认格式化命令 | prettier --write . && eslint --fix . && checkstyle -c /app/.config/checkstyle.xml src/ |
CONFIG_PATH | 格式化规则配置文件路径 | /app/.config |
| 本地路径 | 容器路径 | 说明 |
|---|---|---|
$(pwd) | /app | 挂载待格式化的代码目录 |
./custom-config | /app/.config | 挂载自定义格式化规则(覆盖默认配置) |
bash# 格式化当前目录下的TypeScript/JavaScript文件 docker run --rm -v $(pwd):/app -w /app \ -e FORMAT_CMD="prettier --write 'src/**/*.{ts,js,json}' && eslint --fix 'src/**/*.{ts,js}'" \ civiform/civiform-autoformat-deps:v1.2.0
bash# 使用本地自定义配置文件覆盖默认规则 docker run --rm \ -v $(pwd):/app \ -v $(pwd)/my-eslint-config:/app/.config \ -w /app -e CONFIG_PATH="/app/.config" \ civiform/civiform-autoformat-deps:v1.2.0
创建docker-compose.yml:
yamlversion: '3.8' services: code-format: image: civiform/civiform-autoformat-deps:v1.2.0 volumes: - ./:/app # 挂载项目代码 - ./config:/app/.config # 挂载自定义配置 environment: - WORKDIR=/app - FORMAT_CMD="prettier --write . && eslint --fix . && black ." # 多语言格式化 command: ${FORMAT_CMD}
运行:
bashdocker-compose run --rm code-format
v1.2.0)而非latest,避免依赖变更风险-u $(id -u):$(id -g)参数指定用户IDFROM指令)并添加额外依赖manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务