开发辅助

Dockerfile 检查器

分析 Dockerfile 的最佳实践、安全问题和优化建议,提供即时反馈和可操作的改进方案。

免费使用 无需注册 浏览器本地运行

工具操作区

2 错误 10 警告 3 提示
行 1DL3007错误

FROM 使用了 `latest` 标签(镜像:ubuntu:latest)

固定具体版本标签,例如使用 ubuntu:22.04,而不是 ubuntu:latest。

行 8DL3020错误

此处使用 COPY 即可,不应使用 ADD

复制本地文件时使用 COPY 而不是 ADD。ADD 具有自动解压和远程 URL 等额外功能,可能带来意外行为。

行 2DL4000警告

MAINTAINER 已弃用

改用 LABEL maintainer="[email protected]"。

行 5DL3015警告

`apt-get install` 未使用 `--no-install-recommends`

添加 --no-install-recommends,避免安装不必要的软件包并减小镜像体积。

行 6DL3014警告

`apt-get install` 未使用 `-y` 标志

添加 -y 标志以避免交互式提示:apt-get install -y。

行 6DL3015警告

`apt-get install` 未使用 `--no-install-recommends`

添加 --no-install-recommends,避免安装不必要的软件包并减小镜像体积。

行 6DL3009警告

安装后缺少 `apt-get clean` 或 `rm -rf /var/lib/apt/lists/*`

在同一个 RUN 层清理 apt 缓存以减小镜像体积。

行 11DL3004警告

Dockerfile 中使用了 `sudo`

避免使用 sudo。使用 USER 切换用户,或直接以 root 运行命令(Docker 默认)。

行 13DL3011警告

EXPOSE 未指定端口号

指定有效端口号,例如 EXPOSE 8080。

行 15DL3006警告

缺少 HEALTHCHECK 指令

添加 HEALTHCHECK,让 Docker 知道如何检查容器是否仍在正常工作。

行 15DL3002警告

以 root 运行 — 未发现 USER 指令

添加 USER 指令,让容器以非 root 用户运行以提高安全性。

行 15DL3025警告

CMD 使用 shell 形式而不是 exec 形式

使用 exec 形式:CMD ["executable", "arg1", "arg2"],以便正确处理信号。

行 1DL3005提示

建议使用 .dockerignore 文件

.dockerignore 文件可从构建上下文排除不必要文件,加快构建并减小镜像体积。

行 4DL3003提示

发现 4 条连续 RUN 指令

使用 && 合并 RUN 指令以减少镜像层数。

行 9DL3000提示

WORKDIR 应使用绝对路径

使用绝对路径,例如 WORKDIR /app,而不是 WORKDIR app。

什么是Dockerfile 检查器?

Dockerfile 检查器是一款可直接在浏览器中使用的实用工具。分析 Dockerfile 的最佳实践、安全问题和优化建议,提供即时反馈和可操作的改进方案。它适合处理日常工作、学习、开发和数据整理中的具体任务,无需安装额外软件;在工具支持的情况下,输入内容会保留在当前设备中处理。

如何使用Dockerfile 检查器

  1. 1在工具区域粘贴、输入或上传需要处理的内容。
  2. 2根据任务选择格式、尺寸、输出方式或校验选项。
  3. 3检查预览结果、提示信息或转换后的数据。
  4. 4确认结果无误后复制或下载,并用于后续工作。

Dockerfile 检查器的常见使用场景

快速完成日常任务

无需安装桌面软件,打开网页即可处理常见的文本、图片、数据或格式转换任务。

检查与整理内容

在提交文件、发布内容或复制结果之前,快速发现格式问题并获得结构清晰的输出。

注重隐私的浏览器处理

对于支持本地运行的工具,数据会留在当前浏览器中,不需要上传到第三方服务。

常见问题

检查通过就代表结果一定会被官方系统、生产环境或第三方服务接受吗?

不一定。这个工具会按照页面当前支持的规则检查常见结构和格式问题,但不能替代目标平台、浏览器、链上节点、证书链或正式验证流程的最终判断。

我应该怎样准备输入内容?

最稳妥的做法是按照页面中的标签、占位示例和字段顺序输入原始数据。若某个系统还有额外约束,例如大小写、分隔符或字段长度,请同时以你的业务规范为准。