2016-05-11 7 views
1

マイドッキングウィンドウのファイルは、私がイメージを構築しようとした際、以下の手順ではドッカーCMD命令実行

CMD ["luarocks","install",luasocket"] 

、それが正常にビルドしているが、luasocketは私のドッキングウィンドウにはまだすべてインストールされていません。
しかし、ドッカーの "sudo apt-get update"の後にこのステートメントを手動で実行すると、すべてがスムーズに進んでいます。

コマンドラインで手動で「更新」した後、正しく実行されているのはなぜですか。私のドッカーに "update"コマンドが含まれていても、なぜこの場合失敗しますか?

答えて

1

しかし、あなたは(コンテナセッションでsudo apt-get updateを実行する場合、すなわち、後に「sudoはapt-getの更新」をドッキングウィンドウにすべてのものが

スムーズに起こっている手動た後、私はこの文を実行するときa docker run)、apt-getコマンドで実行されるものは、次のdocker run(次のコンテナ)でリセットされます。

luarocks install luasocketが正常に完了する必要がある場合は、DockerfileにRUN apt-get updateを必ず含めてください。

より一般的には、このコマンドをインストールするには、(luarocks install luasocket)画像へluasocketのインストールを焼くためにCMDが、RUN指示すべきではありません。

関連する問題