Docker-Toolbox常见问题解决方案

翻译 2016年05月30日 22:08:09

Docker Toolbox常见错误解决方案

原文:https://docs.docker.com/faqs/troubleshoot/

错误1

  Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": dial tcp 192.168.99.100:2376: i/o timeout

错误2

  Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": x509: certificate is valid for 192.168.99.101, not 192.168.99.100
  You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.
  Be advised that this will trigger a Docker daemon restart which will stop running containers.

错误3

 Unable to find image 'hello-world:latest' locally
  Pulling repository docker.io/library/hello-world
  Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/hello-world/images. You may want to check your internet connection or if you are behind a proxy.

这些错误可能是由一些常用指令导致,像获取default主机的环境变量docker-machine env default连接主机获取环境变量,
或者拉取镜像运行容器的指令docker run hello-world

问题出现突然,而且不稳定。以下介绍几种通用的解决方案。(以下以default主机为例)

重新生成证书

$ docker-machine regenerate-certs default
    Regenerate TLS machine certs?  Warning: this is irreversible. (y/n): y
    Regenerating TLS certificates

重启Docker主机

docker-machine restart default

将Docker Client连接的默认主机default

 # 设置环境变量: 将default主机作为docker deamon(服务端)
 eval $(docker-machine env default)
 # 查看主机列表:default主机Active状态为'*'
 docker-machine ls

关闭、移除、新建主机

 # 关闭default主机
 docker-machine stop default
 # 移除default主机
 docker-machine rm default
 # 新建主机
 docker-machine create --driver virtualbox default

使用HTTP代理出现的连接错误

通常在VPN网络环境中使用HTTP proxy时,用Docker Toolbox连接服务端会出错。

 $ docker run hello-world
  An error occurred trying to connect: Post https://192.168.99.100:2376/v1.20/containers/create: Forbidden

 $ docker run ubuntu echo "hi"
  An error occurred trying to connect: Post https://192.168.99.100:2376/v1.20/containers/create: Forbidden

在虚拟主机中配置代理设置

进入主机

 # 进入default主机
 docker-machine ssh default

编辑配置文件

 # 编辑配置文件:/var/lib/boot2docker/profile
 docker@default:~$ sudo vi /var/lib/boot2docker/profile

在配置文件最后添加NO_PROXY配置,配置文件内容如下:

# replace with your office's proxy environment
export "HTTP_PROXY=http://PROXY:PORT"
export "HTTPS_PROXY=http://PROXY:PORT"
# you can add more no_proxy with your environment.
export "NO_PROXY=192.168.99.*,*.local,169.254/16,*.example.com,192.168.59.*"

重启主机

docker@default:~$ sudo /etc/init.d/docker restart
docker@default:~$ exit

创建虚拟机时直接指定配置

可删除虚拟机重建

docker-machine create -d virtualbox \
  --engine-env HTTP_PROXY=http://example.com:8080 \
  --engine-env HTTPS_PROXY=https://example.com:8080 \
  --engine-env NO_PROXY=example2.com \
  default

Docker Machine快速安装Docker环境(二)

什么是Docker Machine? Machine是一个简化安装Docker环境的工具。怎么简化法,例如,在ubuntu安装一个docker环境要按照U这个系统配置教程来装,哪天又换了CentOS...

Docker 在 CentOS 下的安装、使用

本文介绍了 Docker 在 CentOS 环境下的详细安装过程,并尝试运行一个最简单的 image 来感受下 Docker 的风采。...

MySQL常见问题解决方案

  • 2014年03月10日 20:50
  • 736KB
  • 下载

net-snmp开发代理常见问题解决方案

snmpd启动方式: ./snmpd -Lsd -Lf /dev/null -p /var/run/snmpd.pid -a -c /etc/snmp/snmpd.conf -DTest    snm...

监控工程安装常见问题解决方案

在一个监控系统完工以后需要进入调试阶段、试运行阶段以后才能交付使用,有可能出现各种故障现象,例如常见的:不能正常运行、系统达不到设计要求的技术指标、整体性能和质量不理想,特别是对于一个复杂的、大型的监...
  • hank212
  • hank212
  • 2014年05月07日 14:59
  • 740

c语言考试常见问题解决方案

  • 2014年01月10日 18:41
  • 68KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Docker-Toolbox常见问题解决方案
举报原因:
原因补充:

(最多只允许输入30个字)