Dockerfile のコードインスペクション
このトピックでは、Dockerfile で使用できるすべての JetBrains Rider コードインスペクション を一覧表示します。
エディター | インスペクション設定 | インスペクション重大度 | 他の言語 設定ページ  Ctrl+Alt+S で、特定のインスペクションを切り替えたり、その重要度レベルを変更できます。
インスペクション | 説明 | デフォルトの重大度 |
|---|---|---|
JSON 配列形式のシングルクォート文字列 | 一重引用符で囲まれた文字列を JSON 配列形式で報告します。 JSON 配列形式では、単語を一重引用符 (') ではなく二重引用符 (") で囲む必要があります。 そうしないと、Docker ビルドが失敗します。 例:
# all the commands below will fail
RUN ['/bin/bash', '-c', 'echo hello']
ADD ['binaryA.jar', 'binary2.jar', 'destination/']
COPY ['binaryA.jar', 'binary2.jar', 'destination/']
クイックフィックスが適用された後:
RUN ["/bin/bash", "-c", "echo hello"]
ADD ["binaryA.jar", "binary2.jar", "destination/"]
COPY ["binaryA.jar", "binary2.jar", "destination/"]
| |
無効な 'ADD'/'COPY' コマンドの宛先 |
Dockerfile 仕様(英語)によると、複数のソースが指定されている場合、宛先はディレクトリである必要があり、スラッシュ「/」で終わる必要があります。 そうしないと、Docker ビルドが失敗します。 例:
# all the commands below will fail
ADD textA.txt textB.txt relativeDir
ADD ["binaryA.jar", "binary2.jar", "destination"]
COPY text3.txt text4.txt /absolute/path
クイックフィックスが適用された後:
ADD textA.txt textB.txt relativeDir/
ADD ["binaryA.jar", "binary2.jar", "destination/"]
COPY text3.txt text4.txt /absolute/path/
| |
'key=value' ペアの無効なスペース |
Dockerfile 仕様(英語)で明示的に指定されていませんが、キーと値のペアの間隔の組み合わせは許可されていません。 問題の指示に達した後、Docker ビルドは失敗します。 例:
# all the commands below will fail
ARG answer = 42
ARG version= "1.0.0"
LABEL "maintained.by"= someone@gmail.com
ENV JAVA_HOME= "/docker-java-home"
クイックフィックスが適用された後:
ARG answer=2
ARG version="1.0.0"
LABEL "maintained.by"=someone@gmail.com
ENV JAVA_HOME="/docker-java-home"
| |
'RUN' コマンドの継続文字がありません |
例:
# the command below will fail
RUN /bin/bash -c 'source $HOME/.bashrc;
echo $HOME'
クイックフィックスが適用された後:
RUN /bin/bash -c 'source $HOME/.bashrc; \
echo $HOME'
| |
不正な引数の数 | Dockerfile コマンドの引数の数が無効であることを報告します。 無効な数の引数で命令に到達した後、Docker ビルドは失敗します。 |