交流群:216672921
最近刚接触了docker,有很多前辈也写了关于docker的搭建和原理的技术博客,在这里我就分享一下我在不同平台搭建docker遇到d问题以及处理方法,在做一切准备工作之前,我们先来讨论一下什么是docker,为什么我们要使用docker?
Docker是一个开源的应用容器引擎,嗯,免费的,这是很多企业使用它的一个原因,其次,你可以将你的任何应用打包到docker容器然后发布到任意流行的linux系统-可移植性比较强,再者在docker上发布的应用之间是完全隔离的,这就是说,docker上的应用在资源分配上也是相互隔离的,这使得docker管控资源(包括CPU、内存和磁盘空间)更加的高效且更易于管控(我们部署应用的时候在日志文件中打印容器的环境变量可以发现一件有趣的事,所有docker容器的mac地址在默认配置的情况下都是EE-EE-EE-EE-EE)。最后,就是docker的镜像,docker创建的镜像使得应用的版本控制成为可能,不同的版本创建不同的镜像就好了,docker中部署应用只需要几条简单的命令便可以完成极其复杂的操作,总之,谁用谁知道。
Docker针对Windows用户发布了两种配置docker环境的应用:Dockertool box 和Docker CE desktop 。这两者都需要依赖于虚拟机,因为我们开头的时候也说了,docker容器是需要发布在linux机器上的,Docker CE for windows 是基于windows自带的hyper-v虚拟机,Windows2008x64,Windows Server2012, Windows8,10专业版/企业版都有hyperv虚拟机功能,如何开启hyperv请自行百度(hyperv是不可以自行安装的),而docker tool box 则是依赖于甲骨文公司的VirtualBox(这款虚拟机漏洞很多,后面我们就会说到,这也是我写这篇博客的原因之一)。
网上有很多安装教程,这里就不赘述,我们主要解决安装过程产生的问题。Docker tool box下载地址:https://www.docker.com/products/docker-toolbox 由于服务器在国外,所以下载速度很慢;如果想快点就用百度网盘载:https://pan.baidu.com/s/1kV0slmB;
接下来我就默认你已经安装好了,安装成功后桌面会多三个图标
,他们分别是虚拟机,docker快速启动,以及图形化界面工具。
我们打开QuickStart终端,第一次使用时toolbox会自动创建一个名字为default的虚拟机,并为其添加默认配置,如果你是windows 10的系统你可能出现以下错误:
②或者直接报错告诉你(官方bug 提交:https://www.virtualbox.org/ticket/15019):
(default) Creating a new host-only adapter produced an error:C:\Program Files\Oracle\VirtualBox\VBoxManage.exehostonlyif create failed:
(default) 0%...
(default) Progress state: E_FAIL
(default) VBoxManage.exe: error: Failed to create the host-onlyadapter
(default) VBoxManage.exe: error: SetupDiCreateDeviceInfo failed(0x00000005)
(default) VBoxManage.exe: error: Details: code E_FAIL (0x80004005),component HostNetworkInterfaceWrap,interface IHostNetworkInterface
(default) VBoxManage.exe: error: Context: "enum RTEXITCODE __cdeclhandleCreate(structHandlerArg *)" at line 71 of file VBoxManageHostonly.cpp
(default)
(default) This is a known VirtualBox bug. Let's try to recoveranyway...
Error creating machine: Error in driver during machine creation:Error setting uphost only network on machine start: Failed to find a new host-onlyadapter
Looks like something went wrong... Press any key tocontinue...
出现这两种情况都说明你的虚拟机创建或者访问本地网络适配器出现了问题,我记得当oracleVm的论坛上有人提交了这个霸哥,官方说这是个bug目前解决不了,就好像一个笑话:A:你为什么插队?B:因为我没素质啊。Whatwould you do?我们知道win os 的docker安装需要依赖虚拟机,那我们就去搞虚拟机,
点开虚拟机找到我们的默认虚拟机在:
打开你能打开的所有网卡,分别指定不同的网络模式然后重启你的虚拟机,这个时候使用quick startterminal还是会报错,图形界面也会报错,但是我们单独使用Virtual box是不会的,如果你的适配实在无法支持hostonly模式那么就直接使用虚拟机吧,这个方法其实很笨,但是如果你只是为了搭建windows docker做测试那么就将就这样使用吧!
虚拟机docker成功的界面:
【BBSee:第一次写技术博客,只为学习交流,全部原创欢迎拍砖】
【Q:为什么用word写的字体就不一样了
好难看】