当安装Docker时碰上伟大的墙……

093037872

此文为讲的是windows系统,当系统为mac的OSX时,主要不同的是缓存位置。
缓存位置:
/Users/hu/.docker/machine/cache/boot2docker.iso
远程地址用迅雷可下:
https://github.com/boot2docker/boot2docker/releases/download/v1.12.3/boot2docker.iso

下文为转载:
在Windows中安装Docker需要注意的是:
1、 必须是64位操作系统
2、 已正确开启系统虚拟化
3、 在Windows系统中安装Docker一般仅限于测试阶段,实际的应用最好还是安装在Linux操作系统中,具体安装方法可参照文档《Centos 6.4中安装Docker》

检查是否已开启系统虚拟化
Ctrl+Alt+Delete 打开任务管理器 –> 选择性能选项卡即可看到虚拟化的状态,在虚拟化后面跟的是已启用则表示已正常开启,否则未开启。

开启虚拟化的方法:

开机进入BIOS 选择Advanced选项卡 设置Secure Virtual Machine Mode为Enabled 版本注意
进入官网 www.docker.com,点击Download Docker for Windows 即可下载Windows的安装组件,需要注意的是这里下载的Docker不可以安装到Windows8的系统上,此安装程序的最低要求是Windows10。

借助Docker Toolbox
下载Docker Toolbox,这里可以选择苹果和Windows两个版本,现在下载Windows版本的Docker Toolbox,下载下来的文件名是:DockerToolbox-1.11.2.exe ,版本号可能有所不同。

安装Docker Toolbox
安装Docker Toolbox和安装其他Windows程序一样,都是比较单纯的下一步。具体步骤也可以参考官方提供的【Install Docker for Windows】这篇文档

创建Docker主机
安装完Docker Toolbox后需要创建一个Docker的虚拟主机才能正常使用Docker服务。
可以借助docker-machine命令来完成Docker虚拟主机的相关操作:

help 查看帮助信息

active 查看活动的Docker主机

config 输出连接的配置信息

create 创建一个Docker主机

env 显示连接到某个主机需要的环境变量

inspect 输出主机更新信息

ip 获取Docker主机地址

kill 停止某个Docker主机

ls 列出所有管理的Docker主机

regenerate-certs 为某个主机重新成功TLS认证信息

restart 重启Docker主机

rm 删除Docker主机

scp 在Docker主机之间复制文件

ssh SSH到主机上执行命令

start 启动一个主机

status 查看一个主机状态

stop 停止一个主机

upgrade 更新主机Docker版本为最新

url 获取主机的URL

创建Docker虚拟主机,并指定名称为default

docker-machine create -d virtualbox default
当出现:

Running pre-create checks...
(default) No default Boot2Docker ISO found locally, downloading the latest release...
(default) Latest release for github.com/boot2docker/boot2docker is v1.12.1
(default) Downloading C:\Users\zsl-pc.docker\machine\cache\boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v1.12.1/boot2docker.iso...
表示正在下载boot2docker.iso镜像文件,这个速度会非常慢,这时可以先按Ctrl+C取消安装,把boot2docker.iso文件通过迅雷等下载工具下载下来并放到指定目录(C:\Users\zsl-pc.docker\machine\cache\,此目录在不同电脑上会有所不同)下再安装。再次运行create创建Docker虚拟主机时就不会再去远程下载,而是使用本地的iso文件了。

从这里可以看出,docker-machine实际是安装了一个虚拟机,跟VMware非常相似,只是这个更轻量级。

安装完成后可以看到:

F:\java\Docker>docker-machine create -d virtualbox default
Running pre-create checks...
Creating machine...
(default) Copying C:\Users\zsl-pc.docker\machine\cache\boot2docker.iso to C:\Users\zsl-pc.docker\machine\machines\default\boot2docker.iso...
(default) Creating VirtualBox VM...
(default) Creating SSH key...
(default) Starting the VM...
(default) Check network to re-create if needed...
(default) Windows might ask for the permission to create a network adapter. Sometimes, such confirmation window is minimized in the taskbar.
(default) Found a new host-only adapter: "VirtualBox Host-Only Ethernet Adapter #2"
(default) Windows might ask for the permission to configure a network adapter. Sometimes, such confirmation window is minimized in the taskbar.
(default) Waiting for an IP...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env default
可使用命令docker-machine ls查看存在的Docker虚拟主机:

F:\java\Docker>docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Running tcp://192.168.99.100:2376 v1.12.1
设置Docker环境
当运行命令docker images查看本地镜像时出提示:

F:\java\Docker>docker images
An error occurred trying to connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.23/images/json: open //./pipe/docker_engine: The system cannot find the file specified.
说明Docker-machine的环境没有配置好。

命令docker-machine env default,注意default是docker的主机名称,可以使用docker-machine ls查看。

F:\java\Docker>docker-machine env default
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\zsl-pc.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
REM Run this command to configure your shell:
REM @FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i

F:\java\Docker>@FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i
注意上面是两个命令:

docker-machine env default
@FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i
上面的default都是Docker的主机名称。

测试Docker
通过上面几个步骤已经完成Docker在Windows8中的安装,现在使用命令docker run hello-world运行一个hello-world的测试容器:

F:\java\Docker>docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

c04b14da8d14: Pull complete
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:

  1. The Docker client contacted the Docker daemon.
  2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
  3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
  4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com

For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/

只要出现上面的信息就表示Docker已经正常安装成功!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容

  • 注意: 该 Docker 版本为了支持 Docker 机,于是不再支持 Boot2Docker 命令行。使用 Do...
    提莫队长1234阅读 4,503评论 0 8
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,100评论 18 139
  • 以下原文转载于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend阅读 7,495评论 0 17
  • 以下原文转载于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend阅读 6,154评论 0 9
  • 夜幕下的灯,照亮晚归的你,田间那动人的旋律,响彻整个小镇。 等待夜归的人,你在何方,我记得点滴间无数过程只为等你转...
    时光风语者阅读 161评论 0 0