Ubuntu14.04でdockerHostを実行しているdockerイメージがあります。
コンテナの1つで、zookeeperを実行し、サードパーティソフトウェアに接続するためにkafkaのlibrdkafkaライブラリ(前提条件ライブラリ)をインストールしようとしています。ビルドするには「make」コマンドが必要です。 kafka adapters/connectorsを実行するコンテナ内のlibrdkafkaライブラリ。
ただし、興味深いことに、コンテナー内で「make」コマンドを実行することはできません。これは、Dockerホストで完全に機能します。使ってみると
apt-get install make
次のメッセージが表示されますが、あまり意味がありません。
root@svi-esp-service:/# apt-get install make
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package make is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'make' has no installation candidate
Makeがコンテナにインストールされない理由と、実行できない理由を誰かが理解するのを手伝ってもらえますか?私は遅れており、このコマンドをコンテナで実行する必要があります。それは本当に迷惑です。
ヘッドアップと同じように、リストファイルには次のようなものがあります。
root@svi-esp-service:/# cat /etc/apt/sources.list
deb http://http.debian.net/debian jessie main
deb http://http.debian.net/debian jessie-updates main
deb http://security.debian.org jessie/updates main
本当に感謝しています!
最初にapt-get update
を実行して、APTのパッケージリストを更新します。
apt-get update && apt-get install make
RUN apt install build-essential -y --no-install-recommends
Apt-getよりもaptをお勧めします。これにより、「make」だけでなく、開発に必要になる可能性のある他のインストールも行われます。 -yおよび--no-install-recommendsなので、ビルドがブロックされません;)