docker入门时碰到的代理设置问题

1. certificate is valid for FG3K6C3A15800021, notindex.docker.io


如果是在公司内网环境,本身虚拟机就使用NAT连接外网时,环境变量中就会配置proxy。除了bashrc中为vm系统配置proxy,还要为docker本身配置代理。网上的文件不一定适应于自己的环境,我的操作系统是ubuntu-14.04.4-desktop-amd64,是在/etc/default/docker中做了修改,文件本身也有注释讲如何做配置

# If you need Docker to use an HTTP proxy, it can also bespecified here.

#export http_proxy=http://127.0.0.1:3128/

修改完文件之后需要service docker restart,配置才会生效,然后再执行docker run hello-world,就能链接到docker的hub。


2. Could not resolve 'archive.ubuntu.com'

docker入门时碰到的代理设置问题_第1张图片

docker入门时碰到的代理设置问题_第2张图片

在运行docker build过程中,因为Dockerfile中使用了apt-get指令,就碰到了Couldnot resolve 'archive.ubuntu.com'。google结果是在/etc/default/docker文件中加入dns的配置,其中dns可以通过nm-tool show看到。

# Use DOCKER_OPTS to modify the daemon startup options.

DOCKER_OPTS="--dns 192.168.27.2 --dns 8.8.8.8"

docker入门时碰到的代理设置问题_第3张图片


新的ubuntu版本可能不支持nm-tool,已经被功能更加强大的nmcli所替代,而且nmcli在centos中也能执行(具体参数可能有所不同,最好先help查下),可以执行nmcli d list看到结果(前提是service network-manager已经start了)。更推荐使用nmcli,信息更全,通用性也更强。


3. GPG error: http://archive.ubuntu.com trusty InRelease:Clearsigned file isn't valid, got 'NODATA' (does the network requireauthentication?)

docker入门时碰到的代理设置问题_第4张图片

但是加了dns之后还是会报错,再google查到了要在docker build时添加—env参数。运行并不成功,因为docker build --help中并没有这个参数,官方docs中提供的是—duild-args,运行时参数,这个是能成功的,官网实例:

$ docker build --build-arg HTTP_PROXY=http://10.20.30.2:1234 .



你可能感兴趣的:(docker)