Je ne parviens pas à installer pip dans Docker.
Voici mon 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
En construisant, je reçois:
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
Après avoir lu cette réponse , j'ai essayé d'ajouter la ligne RUN "sh" "-c" "echo nameserver 8.8.8.8 >> /etc/resolv.conf"
- l'erreur est cette fois:
...
...
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
Qu'est-ce que je fais mal? J'ai vu certaines affirmations selon lesquelles je devrais essayer une version différente d'Ubuntu, mais le passage à la version 13.1 n'a rien changé.
Alors que la réponse de T. Arboreus pourrait résoudre les problèmes liés à la résolution de 'archive.ubuntu.com', je pense que la dernière erreur que vous obtenez indique qu'elle ne connaît pas les packages php5-mcrypt
et python-pip
. Néanmoins, le fichier Dockerfile réduit d’entre vous avec seulement ces deux paquets a fonctionné pour moi (avec Debian 8.4 et Docker 1.11.0), mais je ne suis pas sûr de savoir si cela pourrait être le cas car mon système hôte est différent du vôtre.
FROM ubuntu:14.04
# Install dependencies
RUN apt-get update && apt-get install -y \
php5-mcrypt \
python-pip
Cependant, conformément à cette réponse , vous devriez penser à installer le paquetage python3-pip
au lieu du paquetage python-pip
lors de l’utilisation de Python 3.x.
En outre, pour que l'installation du package php5-mcrypt
fonctionne, vous souhaiterez peut-être ajouter le référentiel d'univers comme il est montré ici . J'ai eu des problèmes avec la commande add-apt-repository
manquante dans l'image Ubuntu Docker, donc j'ai d'abord installé le paquet software-properties-common
pour rendre la commande disponible.
Il est également recommandé de scinder les instructions et de placer apt-get update
et apt-get install
dans une commande RUN
here .
Oh et d'ailleurs, vous n'avez pas besoin de l'indicateur -y
à apt-get update
car il n'y a rien qui doit être confirmé automatiquement.
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
Remarque: Les versions utilisées (par exemple, Ubuntu) pourraient être obsolètes dans le futur.
Vous souhaiterez peut-être modifier les paramètres DNS du démon Docker. Vous pouvez éditer (ou créer) le fichier de configuration à /etc/docker/daemon.json
avec la clé dns, comme
{
"dns": ["your_dns_address", "8.8.8.8"]
}
Dans l'exemple ci-dessus, le premier élément de la liste est l'adresse de votre serveur DNS. Le deuxième élément est le DNS de Google, qui peut être utilisé lorsque le premier n’est pas disponible.
Avant de continuer, enregistrez daemon.json et redémarrez le service de menu fixe.
Sudo service docker restart
Une fois corrigé, réessayez d'exécuter la commande de construction.
Essaye ça:
De cette question .