Docker:Err http://archive.ubuntu.com trusty InRelease & E: Unable to locate package [name] 问题
参考:
Docker containers can't resolve DNS on Ubuntu 14.04 Desktop Host
Unable to locate package错误解决办法
问题:
运行:
make -f docker.mk base-docker-image
时,出现如下错误:
Sending build context to Docker daemon 9.728 kB
Step 1/25 : FROM ubuntu:14.04
---> b969ab9f929b
Step 2/25 : RUN apt-get update
---> Running in 652b2dccd5a0
Err http://archive.ubuntu.com trusty InRelease
Err http://archive.ubuntu.com trusty-updates InRelease
Err http://archive.ubuntu.com trusty-security InRelease
Err http://archive.ubuntu.com trusty Release.gpg
Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-updates Release.gpg
Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-security Release.gpg
Could not resolve 'archive.ubuntu.com'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/InRelease
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/Release.gpg Could not resolve 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg Could not resolve 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/Release.gpg Could not resolve 'archive.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
---> 9f577de31291
Removing intermediate container 652b2dccd5a0
Step 3/25 : RUN apt-get install -y automake autopoint bison bridge-utils build-essential cmake ethtool flex g++ gdb git libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-test-dev libboost-thread-dev libedit-dev libev-dev libevent-dev libffi-dev libglib2.0-dev libgmp-dev libhiredis-dev libjson0 libjson0-dev libjudy-dev libnl-route-3-dev libpcap0.8 libpcap0.8-dev libpcap-dev libtool libssl-dev mktemp openssh-server packit pkg-config python-dev python-pip python-pygraph python-pygraphviz python-setuptools python-texttable python-thrift python-yaml quagga redis-server redis-tools subversion tcpdump texinfo tshark valgrind vim xterm
---> Running in 21e5ad980543
Reading package lists...
Building dependency tree...
Reading state information...
Package mktemp is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
coreutils
Package vim is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Unable to locate package automake
E: Unable to locate package autopoint
E: Unable to locate package bison
E: Unable to locate package bridge-utils
E: Unable to locate package build-essential
E: Unable to locate package cmake
E: Unable to locate package ethtool
E: Unable to locate package flex
E: Unable to locate package gdb
E: Unable to locate package git
E: Unable to locate package libboost-dev
E: Unable to locate package libboost-filesystem-dev
E: Unable to locate package libboost-program-options-dev
E: Unable to locate package libboost-system-dev
E: Unable to locate package libboost-test-dev
E: Unable to locate package libboost-thread-dev
E: Unable to locate package libedit-dev
E: Unable to locate package libev-dev
E: Unable to locate package libevent-dev
E: Unable to locate package libffi-dev
E: Unable to locate package libglib2.0-dev
E: Couldn't find any package by regex 'libglib2.0-dev'
E: Unable to locate package libgmp-dev
E: Unable to locate package libhiredis-dev
E: Unable to locate package libjson0-dev
E: Unable to locate package libjudy-dev
E: Unable to locate package libnl-route-3-dev
E: Unable to locate package libpcap0.8
E: Couldn't find any package by regex 'libpcap0.8'
E: Unable to locate package libpcap0.8-dev
E: Couldn't find any package by regex 'libpcap0.8-dev'
E: Unable to locate package libpcap-dev
E: Unable to locate package libtool
E: Unable to locate package libssl-dev
E: Package 'mktemp' has no installation candidate
E: Unable to locate package openssh-server
E: Unable to locate package packit
E: Unable to locate package pkg-config
E: Unable to locate package python-dev
E: Unable to locate package python-pip
E: Unable to locate package python-pygraph
E: Unable to locate package python-pygraphviz
E: Unable to locate package python-setuptools
E: Unable to locate package python-texttable
E: Unable to locate package python-thrift
E: Unable to locate package python-yaml
E: Unable to locate package quagga
E: Unable to locate package redis-server
E: Unable to locate package redis-tools
E: Unable to locate package subversion
E: Unable to locate package tcpdump
E: Unable to locate package texinfo
E: Unable to locate package tshark
E: Unable to locate package valgrind
E: Package 'vim' has no installation candidate
E: Unable to locate package xterm
The command '/bin/sh -c apt-get install -y automake autopoint bison bridge-utils build-essential cmake ethtool flex g++ gdb git libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-test-dev libboost-thread-dev libedit-dev libev-dev libevent-dev libffi-dev libglib2.0-dev libgmp-dev libhiredis-dev libjson0 libjson0-dev libjudy-dev libnl-route-3-dev libpcap0.8 libpcap0.8-dev libpcap-dev libtool libssl-dev mktemp openssh-server packit pkg-config python-dev python-pip python-pygraph python-pygraphviz python-setuptools python-texttable python-thrift python-yaml quagga redis-server redis-tools subversion tcpdump texinfo tshark valgrind vim xterm' returned a non-zero code: 100
make: *** [base-docker-image] Error 100
解决方法:
该问题分为两个子问题,一个是Err http://archive.ubuntu.com trusty InRelease
,另外一个是E: Unable to locate package [name]
.
第一个问题其实并非是DNS问题,就原文来看,是Docker的bridge连接问题:
sudo apt-get install bridge-utils
pkill docker
iptables -t nat -F
ifconfig docker0 down
brctl delbr docker0
sudo service docker restart
It will force docker to recreate the bridge and reinit all the network rules
第二个问题 => tf serving docker build failed at apt-get update/install
This looks like a connectivity problem on your machine where Docker cannot access the network. Please make sure that your machine can access the internet, and if it still doesn't work I would recommend asking Docker support to help configure it to work with your proxy.
2017/2/17
To improve is to change, to be perfect is to change often.