2016-04-03 5 views
1

Ich verwende Ubuntu Docker Bild: ubuntu:14.04Docker - Mac OSX Ubuntu nicht auf apt-get update

Ich möchte meinen Baum aktualisieren mit:

RUN apt-get update 

Aber ich bin halten diesen Fehler :

W: GPG error: http://archive.ubuntu.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 16126D3A3E5C1192 
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-amd64/Packages Hash Sum mismatch 

E: Some index files failed to download. They have been ignored, or old ones used instead. 

ich versuchte, mehrere Verfahren einschließlich apt-get clean und RUN rm -R /var/lib/apt/lists/* -vf

Keines von ihnen löst das Problem.

Jede Idee, wie kann ich diesen Fehler ignorieren und halte die Behälter bauen?

UPDATE:

Das ist meine volle Dockerfile:

FROM ubuntu:14.04 

VOLUME ["/var/www"] 

RUN apt-get update 
RUN apt-get upgrade -y 

RUN apt-get install -y --force-yes redis-tools git nano curl sendmail openssh-server apache2 supervisor php5 php5-curl php5-cli libapache2-mod-php5 php5-gd php5-json php5-ldap php5-mysql php5-pgsql php5-mcrypt php5-xdebug 
RUN mkdir -p /var/run/sshd 
RUN mkdir -p /var/log/supervisor 

RUN useradd ubuntu -d /home/ubuntu 
RUN usermod -a -G sudo ubuntu 
RUN mkdir -p /home/ubuntu/.ssh 
RUN chmod 700 /home/ubuntu/.ssh 
RUN chown ubuntu:ubuntu /home/ubuntu/.ssh 

ADD apache_default /etc/apache2/sites-available/000-default.conf 
RUN a2enmod rewrite 
RUN php5enmod mcrypt 
RUN sed -ri 's/^display_errors\s*=\s*Off/display_errors = On/g' /etc/php5/apache2/php.ini 
RUN sed -ri 's/^display_errors\s*=\s*Off/display_errors = On/g' /etc/php5/cli/php.ini 
RUN sed -ri 's/^PermitRootLogin.*$/PermitRootLogin yes/g' /etc/ssh/sshd_config 

#Add XDEBUG 
RUN echo "[xdebug]" >> /etc/php5/apache2/php.ini 
RUN echo "zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so" >> /etc/php5/apache2/php.ini 
RUN echo "xdebug.remote_enable=1" >> /etc/php5/apache2/php.ini 
RUN echo "xdebug.remote_connect_back=1" >> /etc/php5/apache2/php.ini 
RUN echo "xdebug.remote_port=9000" >> /etc/php5/apache2/php.ini 
RUN echo "xdebug.show_local_vars=0" >> /etc/php5/apache2/php.ini 
RUN echo "xdebug.var_display_max_data=10000" >> /etc/php5/apache2/php.ini 
RUN echo "xdebug.var_display_max_depth=20" >> /etc/php5/apache2/php.ini 
RUN echo "xdebug.show_exception_trace=0" >> /etc/php5/apache2/php.ini 

#Allow SSH Root 
ADD sshd_config /etc/ssh/sshd_config 
RUN service ssh reload 
RUN service ssh restart 

#Install Composer 
RUN curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer 


ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf 
ADD run /usr/local/bin/ 
RUN chmod +x /usr/local/bin/run 
EXPOSE 22 80 
CMD ["/usr/local/bin/run"] 
+0

Können Sie Ihre gesamte Dockerfile posten? Es funktioniert für mich: 'VON ubuntu: 14,04 RUN apt-get update' –

+0

Haben Sie, wenn Ihr' ubuntu geprüft: 14.04' Bild ist auf dem neuesten Stand? Versuchen Sie, 'docker Pull Ubuntu: 14.04', um sicher zu sein – thaJeztah

+0

@WaleryStrauch Ich fügte es zu meiner Frage –

Antwort

1

Es ist möglich, Sie haben eine veraltete Version von Ubuntu in Ihrem Image-Cache. Führen Sie docker pull ubuntu:14.04 aus, um sicherzustellen, dass Sie über die neueste Version verfügen.

apt-get update sollte aus der Box arbeiten; Wenn es nicht funktioniert, ist etwas anderes falsch (möglicherweise ein Caching-Mirror, der veraltet ist oder ein Proxy-Server, der Probleme verursacht).

Auch überspringen Docker Caching-Mechanismus während eines Build, können Sie die --no-cache Option verwenden; docker build --no-cache .

+0

Dieses Ding ist immer noch mit mir passiert .. Ich habe gerade ubuntu14.04 redownloadet und dennoch empfange ich' W: GPG Fehler: http: // Archiv .ubuntu.com treue Release: die folgenden Signaturen können nicht verifiziert werden, da der öffentliche Schlüssel nicht verfügbar ist: NO_PUBKEY 16126D3A3E5C1192 W: Fehler beim Abruf http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-amd64/Pakete Hash-Summe stimmt nicht überein E: Einige Indexdateien konnten nicht heruntergeladen werden. Sie wurden ignoriert oder alte verwendet. " –

+0

sind Sie hinter einem (Unternehmens-) Proxy? – thaJeztah

+0

Nein .. mein persönlicher Mac –

-1

Versuchen Sie dies in Ihrem dockerfile vor RUN apt-get update hinzuzufügen:

RUN gpg --keyserver subkeys.pgp.net --recv 16126D3A3E5C1192 
RUN gpg --export --armor 16126D3A3E5C1192 | sudo apt-key add - 
+1

Dies sollte nicht benötigt werden; 'apt-get update' sollte funktionieren out of the box, wenn nicht, ist etwas nicht in Ordnung – thaJeztah