Docker 컨테이너를 실행 중인데 패키지를 설치하는 데 문제가 있습니다. 몇 시간 동안 인터넷 검색을 한 후 문제를 해결하기 위해 다양한 방법을 시도했지만 아무것도 작동하지 않는 것 같았습니다. 문제를 파악하기에는 Linux에 대해 충분히 알지 못합니다.
php-common
특히, apt-get을 사용하여 패키지를 설치 하려고 하는데 계속 E: Package 'php-common' has no installation candidate
응답을 받습니다. 이 응답은 설치하려고 하는 많은 패키지에서 발생하지만 그 이유는 모르겠습니다.
php7.1-apache
내가 사용하는 Docker 이미지는 Debian 10(Buster)을 기반으로 하는 공식 PHP 이미지입니다 .
인쇄 실행 uname -a
:Linux 1fa97a139193 4.9.184-linuxkit #1 SMP Tue Jul 2 22:58:16 UTC 2019 x86_64 GNU/Linux
내 파일의 내용은 다음과 같습니다 /etc/apt/sources.list
.
# deb http://snapshot.debian.org/archive/debian/20190910T000000Z buster main
deb http://deb.debian.org/debian buster main
# deb http://snapshot.debian.org/archive/debian-security/20190910T000000Z buster/updates main
deb http://security.debian.org/debian-security buster/updates main
# deb http://snapshot.debian.org/archive/debian/20190910T000000Z buster-updates main
deb http://deb.debian.org/debian buster-updates main
산출cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
산출cat /etc/issue
Debian GNU/Linux 10 \n \l
답변1
이미지가 어디에 호스팅되어 있는지 모르기 php7.1-apache
때문에 확인할 수 없습니다. 그러나 대부분의 데비안 기반 이미지에는 저장소 색인이 없으므로 apt-get install
처음에는 작동하지 않는다는 사실 때문에 문제가 발생하는 것 같습니다.
이러한 컨테이너를 사용할 때 첫 번째 단계는 를 실행하는 것입니다 apt-get update
. 완료되면 apt-get install
구성된 저장소에서 원하는 패키지를 사용할 수 있다고 가정하여 작동해야 합니다.
귀하의 경우 sources.list
Debian 10에서 패키지를 설치하려는 경우 이전 버전 기반 이미지보다는 Debian 10 기반 이미지에서 시작하는 것이 좋습니다. 당신 은 debian:10
시작할 수 있습니다
답변2
이는 에 명시된 바와 같이 의도적인 것입니다."E: 'php-XXX' 패키지에는 설치 후보가 없습니다.".
이것적절한이 오류에 대한 해결책은
FROM debian:XXX
Debian의 PHP 패키지를 직접 사용하여 설치하거나 필요한 추가 확장 기능 및 유틸리티를 사용 및/또는docker-php-ext-install
설치 하는 것입니다.pecl
phpize