2017-10-12 6 views
7

は以下のDockerfileを考えてみましょう:"空の継続行はエラーになります" ...どのように私のDockerfileにコメントする必要がありますか?

そうのように構築
FROM alpine:edge 

EXPOSE \ 
# web portal 
8080 \ 
# backdoor 
8081 

docker build . 

私たちは、このような出力を観察:それはすぐにコメントを入れることは違法になるだろうことを考えるとそう

Sending build context to Docker daemon 17.1TB 
Step 1/2 : FROM alpine:edge 
---> 7463224280b0 
Step 2/2 : EXPOSE 8080 8081 
---> Using cache 
---> 7953f8df04d9 
[WARNING]: Empty continuation line found in: 
    EXPOSE 8080 8081 
[WARNING]: Empty continuation lines will become errors in a future release. 
Successfully built 7953f8df04d9 

を、複数行セクションの途中で:複数行のコマンドをコメントする新しい推奨方法は何ですか

RUNコマンドの場合は特に重要です。コマンドを一緒に使用して画像レイヤーを縮小することをお勧めします。


これが導入されましたが、私は、現在のバージョンでこれを経験しています正確にいつわからない:私はドッカーのエッジリリース・ストリームを使用してい

docker --version 
Docker version 17.07.0-ce, build 8784753 

を、ので、多分これはまだ見ていないだろう安定したDockerを使用しているならおなじみです。

+0

安定したブランチで動作しますか? – lifeisfoo

+0

ベストは彼らがこれについて計画しているものについてドッカーチームに質問することですか?私はあなたがコメントをしたい場合は、複数の公開で終わるかもしれないと仮定します。 –

答えて

1

RUNコマンドを分割して別の行に分割し、実験時(書込み時*)--squashコマンドを使用することができます。


は、* multi-stage builds --squashが冗長になるかもしれないことが示唆されていますことに注意してください。それは積極的に議論されている here、提案は公開 hereです。

+0

'--squash'はおそらく、最新の層だけに変更を加えると_all_ layersが無効になることを意味します。一般的に私は早い段階で遅いものを入れ、後の層では揮発性のものを入れます。私は、増分ビルドが毎回依存関係を再フェッチする必要があるのは、コメントを実装するためではありません。マルチステージビルドがより良い答えを提供するかもしれません。それを読む必要があります。 – Birchlabs

5

17.07.0-ceが空の継続行で警告を開始しました。しかし、それは間違ってコメントのみの行を空として扱いました。これはmoby#35004で修正され、17.10.0-ceに含まれています。

関連する問題