| DL1001 | Ignore | インラインの Ignore pragma # hadolint Ignore=DLxxxx の使用は控えてください。 |
| DL3000 | Error | WORKDIR には絶対パスを使用してください。 |
| DL3001 | Info | Dockerコンテナ内での実行が意味をなさない一部のbashコマンド(ssh, vim, shutdown, service, ps, free, top, kill, mount, ifconfig)があります。 |
| DL3002 | Warning | 最後のユーザーはrootであるべきではありません。 |
| DL3003 | Warning | ディレクトリの切り替えには WORKDIR を使用してください。 |
| DL3004 | Error | sudoは予期せぬ動作を引き起こすため使用しないでください。root権限が必要な場合はgosuのようなツールを使用してください。 |
| DL3005 | Error | apt-get dist-upgrade は使用しないでください。 |
| DL3006 | Warning | イメージのバージョンは常に明示的にタグ付けしてください。 |
| DL3007 | Warning | latestの使用は、イメージ更新時にエラーの原因となりやすいため、リリースタグなどでバージョンを明示的に指定(Pin)してください。 |
| DL3008 | Warning | apt-get install ではバージョンを固定(Pin)してください。 |
| DL3009 | Info | インストール後は apt-get lists を削除してください。 |
| DL3010 | Info | アーカイブをイメージ内に展開するときは ADD を使用してください。 |
| DL3011 | Error | 有効なUNIXポート範囲は0から65535です。 |
| DL3012 | Error | 複数の HEALTHCHECK 命令があります。 |
| DL3013 | Warning | pip ではバージョンを固定(Pin)してください。 |
| DL3014 | Warning | -y スイッチを使用してください。 |
| DL3015 | Info | --no-install-recommends を指定して余分なパッケージのインストールを避けてください。 |
| DL3016 | Warning | npm ではバージョンを固定(Pin)してください。 |
| DL3018 | Warning | apk add ではバージョンを固定(Pin)してください。apk add <package> の代わりに apk add <package>=<version> を使用します。 |
| DL3019 | Info | --no-cache スイッチを使用して --update の使用を回避し、インストール完了後に /var/cache/apk/* を削除してください。 |
| DL3020 | Error | ファイルやフォルダには ADD ではなく COPY を使用してください。 |
| DL3021 | Error | 2つ以上の引数を持つ COPY では、最後の引数は / で終わる必要があります。 |
| DL3022 | Warning | COPY --from は定義済みの FROM エイリアスを参照する必要があります。 |
| DL3023 | Error | COPY --from は自身の FROM エイリアスを参照することはできません。 |
| DL3024 | Error | FROM エイリアス(ステージ名)は一意である必要があります。 |
| DL3025 | Warning | CMD および ENTRYPOINT の引数には JSON 表記を使用してください。 |
| DL3026 | Error | FROM イメージには許可されたレジストリのみを使用してください。 |
| DL3027 | Warning | apt はエンドユーザー向けツールです。代わりに apt-get または apt-cache を使用してください。 |
| DL3028 | Warning | gem install ではバージョンを固定(Pin)してください。gem install <gem> の代わりに gem install <gem>:<version> を使用します。 |
| DL3029 | Warning | FROM で --platform フラグを使用しないでください。 |
| DL3030 | Warning | 手動入力を避けるため -y スイッチを使用してください: yum install -y <package> |
| DL3032 | Warning | yum コマンドの後に yum clean all がありません。 |
| DL3033 | Warning | バージョンを指定してください: yum install -y <package>-<version> |
| DL3034 | Warning | zypper コマンドに非対話型スイッチがありません: zypper install -y |
| DL3035 | Warning | zypper dist-upgrade は使用しないでください。 |
| DL3036 | Warning | zypper 使用後に zypper clean がありません。 |
| DL3037 | Warning | バージョンを指定してください: zypper install -y <package>[=]<version> |
| DL3038 | Warning | 手動入力を避けるため -y スイッチを使用してください: dnf install -y <package> |
| DL3040 | Warning | dnf コマンドの後に dnf clean all がありません。 |
| DL3041 | Warning | バージョンを指定してください: dnf install -y <package>-<version> |
| DL3042 | Warning | pip install --no-cache-dir <package> でキャッシュディレクトリの使用を避けてください。 |
| DL3043 | Error | ONBUILD 命令内から ONBUILD, FROM あるいは MAINTAINER がトリガーされました。 |
| DL3044 | Error | 定義しているのと同じ ENV ステートメント内で環境変数を参照しないでください。 |
| DL3045 | Warning | WORKDIR が設定されていない状態で相対パスに COPY しています。 |
| DL3046 | Warning | useradd に -l フラグがなく、UIDが大きいとイメージが肥大化します。 |
| DL3047 | Info | wget に --progress フラグがないと、大容量ファイルのダウンロード時にビルドログが肥大化します。 |
| DL3048 | Style | 無効なラベルキーです。 |
| DL3049 | Info | ラベル <label> がありません。 |
| DL3050 | Info | 余分なラベルが存在します。 |
| DL3051 | Warning | ラベル <label> が空です。 |
| DL3052 | Warning | ラベル <label> は有効なURLではありません。 |
| DL3053 | Warning | ラベル <label> は有効な時刻形式ではありません(RFC3339準拠である必要があります)。 |
| DL3054 | Warning | ラベル <label> は有効なSPDXライセンス識別子ではありません。 |
| DL3055 | Warning | ラベル <label> は有効なgitハッシュではありません。 |
| DL3056 | Warning | ラベル <label> はセマンティックバージョニングに準拠していません。 |
| DL3057 | Ignore | HEALTHCHECK 命令がありません。 |
| DL3058 | Warning | ラベル <label> は有効なメールアドレス形式ではありません(RFC5322準拠である必要があります)。 |
| DL3059 | Info | 連続する複数の RUN 命令があります。統合を検討してください。 |
| DL3060 | Info | yarn install 実行後に yarn cache clean がありません。 |
| DL3061 | Error | 命令の順序が無効です。Dockerfileは FROM, ARG またはコメントで始まる必要があります。 |
| DL4000 | Error | MAINTAINER は非推奨です。 |
| DL4001 | Warning | Wget または Curl のいずれかを使用し、両方は使用しないでください。 |
| DL4003 | Warning | 複数の CMD 命令が見つかりました。 |
| DL4004 | Error | 複数の ENTRYPOINT 命令が見つかりました。 |
| DL4005 | Warning | デフォルトシェルを変更するには SHELL を使用してください。 |
| DL4006 | Warning | パイプを使用する RUN の前に SHELL オプション -o pipefail を設定してください |
| SC1000 | | $ は特殊な意味を持たないため、エスケープする必要があります。 |
| SC1001 | | この \c はこの文脈では通常の 'c' になります。 |
| SC1007 | | 代入の場合は = の後のスペースを削除してください(空文字の場合は var='' ... を使用)。 |
| SC1010 | | done の前にセミコロンまたは改行を使用してください(リテラルの場合は引用符で囲む)。 |
| SC1018 | | これはUnicodeの非改行スペースです。削除してスペースとして再入力してください。 |
| SC1035 | | ここにはスペースが必要です |
| SC1045 | | foo &; bar ではありません。foo & bar です。 |
| SC1065 | | パラメータを宣言しようとしていますか?シェルスクリプトでは行いません。() を使用し、$1, $2 などでパラメータを参照してください。 |
| SC1066 | | 代入の左辺で $ を使用しないでください。 |
| SC1068 | | 代入の = の前後にスペースを入れないでください。 |
| SC1077 | | コマンド展開には、バッククォート(`)を使用してください(´ ではありません)。 |
| SC1078 | | 二重引用符で囲まれた文字列を閉じ忘れていませんか? |
| SC1079 | | これは実際には終了引用符ですが、次の文字のせいで疑わしく見えます。 |
| SC1081 | | スクリプトは大文字と小文字を区別します。If ではなく if を使用してください。 |
| SC1083 | | この {/} はリテラルです。式を確認するか(;/\n が抜けていませんか?)、引用符で囲んでください。 |
| SC1086 | | for ループのイテレータ名に $ を使用しないでください。 |
| SC1087 | | 配列を展開する場合は、${array[idx]} のように中括弧が必要です。 |
| SC1095 | | 関数名と本体の間にはスペースまたは改行が必要です。 |
| SC1097 | | 予期しない == です。代入には =、比較には [ .. ] または [[ .. ]] を使用してください。 |
| SC1098 | | eval を使用する場合は、特殊文字を引用符で囲むかエスケープしてください(例: eval "a=(b)")。 |
| SC1099 | | # の前にはスペースが必要です。 |
| SC2002 | | 無駄な cat です。cmd < file | .. または cmd file | .. を検討してください。 |
| SC2015 | | A && B || C は if-then-else ではないことに注意してください。A が真の場合でも C が実行される可能性があります。 |
| SC2026 | | この単語は引用符の外にあります。'nest '"'single quotes'"' instead' のように入れ子にするつもりでしたか? |
| SC2028 | | echo はエスケープシーケンスを展開しません。printf の使用を検討してください。 |
| SC2035 | | ダッシュで始まる名前がオプションとして扱われないように、./*glob* または -- *glob* を使用してください。 |
| SC2039 | | POSIX sh では、定義されていない機能です。 |
| SC2046 | | 単語の分割を防ぐためにこれを引用符で囲んでください |
| SC2086 | | グロブ展開と単語分割を防ぐために二重引用符で囲んでください。 |
| SC2140 | | 単語の形式が "A"B"C" になっています(Bが示されています)。"ABC" または "A\"B\"C" のつもりでしたか? |
| SC2154 | | 変数が参照されていますが、割り当てられていません。 |
| SC2155 | | 戻り値をマスクしないように、宣言と代入を分けて行ってください。 |
| SC2164 | | cd が失敗した場合に備えて cd ... || exit を使用してください。 |