Windows8下运行Docker

来源:互联网 发布:短信验证码生成算法 编辑:程序博客网 时间:2024/05/20 02:22

步骤如下:
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:2376set DOCKER_CERT_PATH=C:\Users\laisf\.boot2docker\certs\boot2docker-vmset DOCKER_TLS_VERIFY=1

测试(出现错误)
这里写图片描述

更新boot2docker image解决上述问题

boot2docker stopboot2docker downloadboot2docker up

<2> 使用Docker Machine的方式
测试Docker Host状态

docker-machine ls

这里写图片描述

启动Docker Host

docker-machine start default

查看环境变量

docker-machine env default

设置环境变量

SET DOCKER_TLS_VERIFY=1SET DOCKER_HOST=tcp://192.168.99.100:2376SET DOCKER_CERT_PATH=C:\Users\laisf\.docker\machine\machines\defaultSET 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.

0 0
原创粉丝点击