Windows 7下安装Docker Toolbox
1下载和安装Docker Toolbox 从Docker官网可以下到Docker Toolbox:https://mirrors.aliyun.com/docker-toolbox/选择windows版本下载。 双击下载好的程序:注意:安装路径千万不要有中文!!!!请注意下面一点,对最后一项打上钩:然后,点击Install!2Do
1下载和安装Docker Toolbox
从Docker官网可以下到Docker Toolbox:
https://mirrors.aliyun.com/docker-toolbox/
选择windows版本下载。
双击下载好的程序:
注意:安装路径千万不要有中文!!!!
请注意下面一点,对最后一项打上钩:
然后,点击Install!
2Docker配置
安装完成后,在桌面上会出现两个图标:一个是命令行形式Docker终端,一个是图形界面的Docker操作工具。
其安装路径下文件如下:
你可通过CMD查看docker是否安装成功,输入docker-machine,出现版本等信息,安装能够运行,还会给出一些选项,包括machine安装路劲等: -s, --storage-path "C:\Users\wcc335836929\.docker\machine" Configures storage path [$MACHINE_STORAGE_PATH]
在使用Docker前,要先创建docker machine,它其实是台虚拟机,不过在使用它的时候,你可能根本察觉不出来它是虚拟的。默认情况下,docker machine的所有文件都会保存在用户的根目录下,一般是在C盘,如果就用默认的位置,C盘的空间会越来越小,所以最好还是换个地方。 点击Git Bash,在起开所有docker应用之前需要先使用这个才能更改成功,修改默认的default machine的路径,不然,默认安装在C盘,会使C盘空间越来越小。
然后,输入 notepad .bash_profile 创建和打开.bash_profile 配置文件
然后,在空白处输入(因为我想将以后的镜像都安装到H盘,此处可以修改你喜欢的盘符):
export MACHINE_STORAGE_PATH='H:\docker'
然后,关闭后,在H盘创建名为docker的文件夹,在其下创建名为cache的文件夹,将安装文件下的boot2docker.iso拷贝到该文件夹:
在Git Bash中输入更改路径命令,此处使用阿里云的加速器,因为在使用docker的时候,会需要从docker的网站下载镜像文件,下载速度可能会很慢。获得阿里云加速,需要登录阿里云开发者平台,然后点击右侧的管理中心(当然你得要有一个账户):
阿里云容器镜像库:
https://www.aliyun.com/product/acr?spm=5176.10695662.1996646101.searchclickresult.18c1190cZAQF3v
然后点击加速,Windows
复制红色方框中的代码,然后修改为如下(根据自己盘符修改):
docker-machine -s "H:\docker" create --engine-registry-mirror=https://vf29u5xi.mirror.aliyuncs.com -d virtualbox default
现在就可以在Git Bash中运行了:
虚拟机中出现如下界面:
此时可以点击Docker Quickstart Terminal:
同时,Docker Quickstart Terminal也已经登录进去:
也可以在Git Bash中运行:
docker-machine ls
这里面就是一个linux风格的Docker环境,提示的IP:192.168.99.100就是Docker虚拟机的IP了。
这台docker machine创建后就启动了,如果下次我们再打开电脑,想要启动docker machine,可以打开Docker Quickstart Terminal或者Git Bash,然后执行下面的命令:
docker-machine start
来启动docker machine。
3利用ssh软件登录
SSH登录虚拟机(此处使用的XShell软件,自行百度下载,当然还有其他的ssh软件):
docker machine的IP是192.168.99.100,用SSH工具登录它,用户名是docker
,密码是tcuser
Docker-Toolbox常见问题解决方案
错误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 \
defaul
docker-machine ssh任然能连接,连接到2376端口似乎不行 ——解决
$ sudo ifconfig vboxnet0 down && sudo ifconfig vboxnet0 up解决。
需要证书时添加:
docker-machine regenerate-certs [name]
即可
更多推荐
所有评论(0)