web-dev-qa-db-ja.com

Dockerエラー:パッケージgitが見つかりません

dockerfile/ubuntuに基づく画像nginxを使用しています。 Dockerコンテナのシェルに接続するとき

docker exec -it <container_id> /bin/bash

git pullを実行したいので、gitをインストールしようとしましたが、aptはパッケージを見つけることができません。

root@a71e45d5cd40:/# apt-get install git
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package git

そのイメージからgitをどのようにインストールできますか?なぜ見つからないのですか?


cat /etc/apt/sources.list

deb http://httpredir.debian.org/debian wheezy main
deb http://httpredir.debian.org/debian wheezy-updates main
deb http://security.debian.org wheezy/updates main
deb http://nginx.org/packages/mainline/debian/ wheezy nginx

cat /etc/apt/sources.list.d/*

cat: /etc/apt/sources.list.d/*: No such file or directory

apt-cache madison git

N: Unable to locate package git
30
Nyxynyx

これは、aptリポジトリがまだ更新されていないために発生しています。通常、ベースイメージが実行しているイメージを作成した後、aptリポジトリとtmpファイルをクリーンアップするのが一般的です。

これを修正するには、gitをインストールする前にapt-get updateを実行する必要があります。更新とインストールのコマンドを同時に組み合わせて、インストール行が変更された場合に更新のキャッシュを無効にすることをお勧めします。

RUN apt-get update && apt-get install -y git

-yを使用すると、すべての質問に自動的にyesと答えるのに便利です。

86
Michael