2016-04-13 41 views
12

Non riesco a installare pip in Docker.Installa pip nella finestra mobile

Ecco la mia Dockerfile:

FROM ubuntu:14.04 

# Install dependencies 
RUN apt-get update -y 
RUN apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql python3.4 python-pip 

Quando si costruisce, ottengo:

Sending build context to Docker daemon 109.6 kB 
Step 1 : FROM ubuntu:14.04 
---> b549a9959a66 
Step 2 : RUN apt-get update -y 
---> Using cache 
---> 84577471562c 
Step 3 : RUN apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql python3.4 python-pip 
---> Running in 49252a6d0eb1 
Reading package lists... 
Building dependency tree... 
Reading state information... 
python3.4 is already the newest version. 
The following extra packages will be installed: 
    apache2-bin apache2-data binutils build-essential ca-certificates cpp 
    cpp-4.8 dpkg-dev fakeroot g++ g++-4.8 gcc gcc-4.8 git-man krb5-locales 
    libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl 
    libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libasan0 
    libasn1-8-heimdal libatomic1 libc-dev-bin libc6-dev libcloog-isl4 libcurl3 
    libcurl3-gnutls libdpkg-perl libedit2 liberror-perl libfakeroot 
    libfile-fcntllock-perl libgcc-4.8-dev libgmp10 libgomp1 libgssapi-krb5-2 
    libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal 
    libheimntlm0-heimdal libhx509-5-heimdal libidn11 libisl10 libitm1 
    libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 
    libldap-2.4-2 libmcrypt4 libmpc3 libmpfr4 libmysqlclient18 libpython-stdlib 
    libpython2.7-minimal libpython2.7-stdlib libquadmath0 libroken18-heimdal 
    librtmp0 libsasl2-2 libsasl2-modules libsasl2-modules-db libstdc++-4.8-dev 
    libtimedate-perl libtsan0 libwind0-heimdal libx11-6 libx11-data libxau6 
    libxcb1 libxdmcp6 libxext6 libxml2 libxmuu1 linux-libc-dev lsof make 
    manpages manpages-dev mysql-common openssh-client openssl patch php5-cli 
    php5-common php5-json php5-readline psmisc python python-chardet 
    python-chardet-whl python-colorama python-colorama-whl python-distlib 
    python-distlib-whl python-html5lib python-html5lib-whl python-minimal 
    python-pip-whl python-pkg-resources python-requests python-requests-whl 
    python-setuptools python-setuptools-whl python-six python-six-whl 
    python-urllib3 python-urllib3-whl python-wheel python2.7 python2.7-minimal 
    python3-pkg-resources rsync sgml-base ssl-cert xauth xml-core xz-utils 
Suggested packages: 
    www-browser apache2-doc apache2-suexec-pristine apache2-suexec-custom ufw 
    apache2-utils binutils-doc cpp-doc gcc-4.8-locales debian-keyring 
    g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg gcc-multilib 
    autoconf automake1.9 libtool flex bison gdb gcc-doc gcc-4.8-multilib 
    libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan0-dbg 
    libtsan0-dbg libquadmath0-dbg gettext-base git-daemon-run 
    git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch 
    git-bzr git-cvs git-mediawiki git-svn php-pear glibc-doc krb5-doc krb5-user 
    libmcrypt-dev mcrypt libsasl2-modules-otp libsasl2-modules-ldap 
    libsasl2-modules-sql libsasl2-modules-gssapi-mit 
    libsasl2-modules-gssapi-heimdal libstdc++-4.8-doc make-doc man-browser 
    ssh-askpass libpam-ssh keychain monkeysphere ed diffutils-doc 
    php5-user-cache python-doc python-tk python-genshi python-lxml 
    python-distribute python-distribute-doc python2.7-doc binfmt-support 
    python3-setuptools openssh-server sgml-base-doc openssl-blacklist debhelper 
Recommended packages: 
    ssh-client python-dev-all 
The following NEW packages will be installed: 
    apache2 apache2-bin apache2-data binutils build-essential ca-certificates 
    cpp cpp-4.8 curl dpkg-dev fakeroot g++ g++-4.8 gcc gcc-4.8 git git-man 
    krb5-locales libalgorithm-diff-perl libalgorithm-diff-xs-perl 
    libalgorithm-merge-perl libapache2-mod-php5 libapr1 libaprutil1 
    libaprutil1-dbd-sqlite3 libaprutil1-ldap libasan0 libasn1-8-heimdal 
    libatomic1 libc-dev-bin libc6-dev libcloog-isl4 libcurl3 libcurl3-gnutls 
    libdpkg-perl libedit2 liberror-perl libfakeroot libfile-fcntllock-perl 
    libgcc-4.8-dev libgmp10 libgomp1 libgssapi-krb5-2 libgssapi3-heimdal 
    libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal 
    libhx509-5-heimdal libidn11 libisl10 libitm1 libk5crypto3 libkeyutils1 
    libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2 libmcrypt4 
    libmpc3 libmpfr4 libmysqlclient18 libpython-stdlib libpython2.7-minimal 
    libpython2.7-stdlib libquadmath0 libroken18-heimdal librtmp0 libsasl2-2 
    libsasl2-modules libsasl2-modules-db libstdc++-4.8-dev libtimedate-perl 
    libtsan0 libwind0-heimdal libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 
    libxext6 libxml2 libxmuu1 linux-libc-dev lsof make manpages manpages-dev 
    mysql-common openssh-client openssl patch php5 php5-cli php5-common 
    php5-json php5-mcrypt php5-mysql php5-readline psmisc python python-chardet 
    python-chardet-whl python-colorama python-colorama-whl python-distlib 
    python-distlib-whl python-html5lib python-html5lib-whl python-minimal 
    python-pip python-pip-whl python-pkg-resources python-requests 
    python-requests-whl python-setuptools python-setuptools-whl python-six 
    python-six-whl python-urllib3 python-urllib3-whl python-wheel python2.7 
    python2.7-minimal python3-pkg-resources rsync sgml-base ssl-cert xauth 
    xml-core xz-utils 
0 upgraded, 130 newly installed, 0 to remove and 4 not upgraded. 
Need to get 61.9 MB of archives. 
After this operation, 213 MB of additional disk space will be used. 
Err http://archive.ubuntu.com/ubuntu/ trusty-updates/main libroken18-heimdal amd64 1.6~git20131207+dfsg-1ubuntu1.1 
    Could not resolve 'archive.ubuntu.com' 
Err http://archive.ubuntu.com/ubuntu/ trusty-updates/main libasn1-8-heimdal amd64 1.6~git20131207+dfsg-1ubuntu1.1 
    Could not resolve 'archive.ubuntu.com' 

. 
. 
. 

Err http://archive.ubuntu.com/ubuntu/ trusty-security/main python2.7 amd64 2.7.6-8ubuntu0.2 
    Could not resolve 'archive.ubuntu.com' 
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/h/heimdal/libroken18-heimdal_1.6~git20131207+dfsg-1ubuntu1.1_amd64.deb Could not resolve 'archive.ubuntu.com' 

E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/h/heimdal/libasn1-8-heimdal_1.6~git20131207+dfsg-1ubuntu1.1_amd64.deb Could not resolve 'archive.ubuntu.com' 

E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb5support0_1.12+dfsg-2ubuntu5.2_amd64.deb Could not resolve 'archive.ubuntu.com' 

E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/s/ssl-cert/ssl-cert_1.0.33_all.deb Could not resolve 'archive.ubuntu.com' 

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? 
The command '/bin/sh -c apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql python3.4 python-pip' returned a non-zero code: 100 

Letta this answer, ho provato ad aggiungere la linea RUN "sh" "-c" "echo nameserver 8.8.8.8 >> /etc/resolv.conf" - l'errore questa volta è:

... 
... 
Reading state information... 
E: Unable to locate package php5-mcrypt 
E: Unable to locate package python-pip 
The command '/bin/sh -c apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql python3.4 python-pip' returned a non-zero code: 100 

Cosa sto sbagliando? Ho visto alcune affermazioni che dovrei provare una versione diversa di Ubuntu, ma passare a 13.1 non ha cambiato nulla.

+0

Quale piattaforma sei? – Nick

risposta

20

Mentre la risposta di T. Arboreus potrebbe risolvere i problemi con la risoluzione di 'archive.ubuntu.com', penso che l'ultimo errore che si sta dicendo dice che non sa sui pacchetti php5-mcrypt e python-pip. Tuttavia, il Dockerfile ridotto di te con solo questi due pacchetti ha funzionato per me (usando Debian 8.4 e Docker 1.11.0), ma non sono sicuro che questo potrebbe essere il caso perché il mio sistema host è diverso dal tuo.

FROM ubuntu:14.04 

# Install dependencies 
RUN apt-get update && apt-get install -y \ 
    php5-mcrypt \ 
    python-pip 

Tuttavia, secondo this answer si dovrebbe pensare di installare il pacchetto python3-pip invece del pacchetto python-pip quando si usa Python 3.x.

Inoltre, per rendere operativa l'installazione del pacchetto php5-mcrypt, è possibile aggiungere il repository universe come mostrato in right here. Ho avuto problemi con il comando add-apt-repository mancante nell'immagine di Ubuntu Docker quindi ho installato il pacchetto software-properties-common all'inizio per rendere disponibile il comando.

È anche consigliabile dividere le istruzioni e inserire apt-get update e apt-get install in un comando RUNhere.

Oh, a proposito, in realtà non è necessario il flag -y allo apt-get update perché non c'è nulla che debba essere confermato automaticamente.

Infine:

FROM ubuntu:14.04 

# Install dependencies 
RUN apt-get update && apt-get install -y \ 
    software-properties-common 
RUN add-apt-repository universe 
RUN apt-get update && apt-get install -y \ 
    apache2 \ 
    curl \ 
    git \ 
    libapache2-mod-php5 \ 
    php5 \ 
    php5-mcrypt \ 
    php5-mysql \ 
    python3.4 \ 
    python3-pip 

Nota: Le versioni utilizzate (ad esempio di Ubuntu) potrebbero essere superate in futuro.

+0

Grazie per la risposta! Sono su Mac OS X (10.11.4), se questo fa alcuna differenza (anche se pensavo che l'aspetto principale di Docker fosse che funzionava indipendentemente dal sistema sottostante? Sono abbastanza nuovo, quindi potrei sbagliarmi ...). Proverò i tuoi suggerimenti ora. – scubbo

+1

Ha funzionato! Grazie! – scubbo

+0

perché è necessario: 'RUN apt-get update'? –

0

Prova questo:

  1. Rimuovere il commento dalla riga seguente in/etc/default/docker DOCKER_OPTS = "- dns 8.8.8.8 8.8.4.4 --dns"
  2. Riavviare il Servizio sudo Docker docker restart
  3. Elimina le immagini che hanno memorizzato nella cache le impostazioni DNS non valide.
  4. Compilare nuovamente e il problema dovrebbe essere risolto.

Da this question.

+0

Non ho fortuna - non ci sono file '/ etc/default/docker' sul mio sistema (Mac OS X) – scubbo

+0

Spiacente, sfruttato su questo –

Problemi correlati