在docker中安装pip

我无法在Docker中安装点子。

这是我的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 

build设时,我得到:

 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 

读过这个答案 ,我尝试添加RUN "sh" "-c" "echo nameserver 8.8.8.8 >> /etc/resolv.conf" – 这次的错误是:

 ... ... 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 

我究竟做错了什么? 我已经看到一些声明,我应该尝试不同版本的Ubuntu,但切换到13.1并没有改变任何东西。

虽然T. Arboreus的答案可能解决了解决'archive.ubuntu.com'的问题,但我认为你得到的最后一个错误是它不知道包php5-mcryptpython-pip 。 尽pipe如此,只有这两个包的Dockerfile减less了(使用Debian 8.4和Docker 1.11.0),但是我不确定是否可以这样,因为我的主机系统与你的系统不同。

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

然而,根据这个答案,你应该考虑在使用Python 3.x时安装python3-pip包而不是python-pip包。

此外,为了使php5-mcrypt软件包安装正常工作,您可能需要添加Universe资源库,就像这里显示的那样。 我在Ubuntu Docker镜像中缺less了add-apt-repository命令,所以我安装了软件包software-properties-common命令,以使命令可用。

拆分语句,并将apt-get updateapt-get install到一个RUN命令中。

哦,顺便说一句,你实际上不需要apt-get update-y标志,因为没有任何东西需要自动确认。

最后:

 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 

备注:未来使用的版本(例如Ubuntu)可能已经过时。

尝试这个:

  1. 在/ etc / default / docker中取消注释以下行DOCKER_OPTS =“ – dns 8.8.8.8 –dns 8.8.4.4”
  2. 重新启动Docker服务sudo服务docker重启
  3. 删除caching了无效DNS设置的任何图像。
  4. 再次build设,问题应该得到解决。

从这个问题 。