2017-07-27 9 views
0

Yocto Linux toolchainインストーラスクリプトtoolchain.shがあります。これを実行すると、/optに複数のクロスコンパイラがインストールされます。あらかじめ作られたドッカー画像でこれを行うにはどうすればいいですか?これまでのところ、私はこれをやった:Dockerfile:ローカルインストーラスクリプトを実行するには?

ADD ./toolchain.sh /opt 
RUN yes | /opt/toolchain.sh 
RUN rm -f /opt/toolchain.sh 

これが動作しているようですが、今の私のイメージは、インストーラとより多くのスペースを取ってパッケージされていないツールチェインの両方を持っているので、それは非効率です。

不要な領域を占有することなくこれを行う方法はありますか?

答えて

1

リミットあなたの層は:

ADD ./toolchain.sh /opt 

RUN yes | /opt/toolchain.sh && \ 
    rm -f /opt/toolchain.sh 

これは確実に、あなたはそれを除去してしまうため、それはちょうどあなたのドッキングウィンドウの画像のための余分なサイズを作成し、toolchain.shのための余分なレイヤを作成しないでください。

ドッカーファイルでいくつかの実行文を使用するのではなく、&& \という巨大な「1ライナー」を作成し、読みやすくするためにそれらを区切ります。

それ以外は、あなたがしていることは完全に有効であり、ドッカーのために設計されています。心配することはありません。

関連する問題