您的位置:首页 > 运维架构 > Docker

Windows8下运行Docker

2016-01-20 10:51 791 查看
步骤如下:

step1: 检查机器

确认windows版本——Docker Toolbox只能在windows 7.1, windows8, 8.1或者更高版本上面安装运行。

确认CPU支持硬件虚拟机并激活该功能——如下图



(如果Virtualization为Disable的,需要到BIOS中将该项设置为Enabled)

step2:到Docker官网下载Docker Toolbox并安装

Docker ToolBox共包含5个docker工具:

Docker Machine:包含了docker-machine命令。

运行Docker命令所需要的引擎。

Kitematic,Docker GUI界面。

事先为docker 命令行环境配置好的shell。

Oracle公司的VM VirtualBox包。

(Windows下运行docker与Linux的不同)

这里写链接内容

step3:下载Boot2Docker工具并安装(Docker官方已经不再推荐Boot2Docker,而是使用Docker Machine来代替,该步骤可省略)

Boot2Docker是一个专为Docker而设计的轻量级Linux发型包,解决Windows或者OS X用户不能安装Docker的问题。Boot2Docker完全运行于内存中,24M大小,启动仅5-6秒。Boot2Docker需要运行在 VirtualBox中。

step4:启动Docker Host(运行在VirtualBox虚拟机上的)

你可以通过三种方式来启动:quickstart终端、命令行(cmd.exe)或者powershell。(本小节最后面部分补充了另一种方式)

这里使用windows命令行启动(cmd.exe)

启动windows命令行(cmd.exe)

将ssh.exe所在的目录添加到PATH变量中。

docker-machine 命令需要ssh.exe,这个文件可以在mysysgit的bin目录里面找到。(mysysgit是git在windows下面的一个客户端)

set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"


<1> 使用boot2docker的方式

boot2docker start


设置环境变量

set DOCKER_HOST=tcp://192.168.59.103:2376
set DOCKER_CERT_PATH=C:\Users\laisf\.boot2docker\certs\boot2docker-vm
set DOCKER_TLS_VERIFY=1


测试(出现错误)



更新boot2docker image解决上述问题

boot2docker stop
boot2docker download
boot2docker up


<2> 使用Docker Machine的方式

测试Docker Host状态

docker-machine ls




启动Docker Host

docker-machine start default


查看环境变量

docker-machine env default


设置环境变量

SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\laisf\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default


=============================

使用VirtualBox里面Docker虚拟机内的Docker client(直接双击Docker虚拟机后弹出的类似CMD的命令提示窗体)

(使用这种方式的原因是为了能够把本地Windows的目录挂载到Docker容器内)

具体方法如下:

At first you need to create a new Shared Folder in the Virtual Box setting.



Then you need to mount this folder inside Docker VM with this command:

$ mount -t vboxsf -o uid=1000,gid=50 your-shared-folder-name /existing/location/in/docker/VM


In our case, the command looks like this:

$ mount -t vboxsf -o uid=1000,gid=50 webapp /home/docker/webapp


NOTE: The data folder needs to exist before any mounting, i.e. call before: mkdir -p /home/docker/webapp.

Mount that folder to any container

This task could be done with a standard volume parameter -v from the docker run command.

docker run -d -p 4567  -v /home/docker/webapp:/opt/webapp jimlai83/sinatra


Now my Windows directory (G:\Docker\sinatra\webapp) is accessible directly inside a new ubuntu container.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Docker