Vmware之创建旧版本的Docker虚拟机
凌雪 2018-09-19 来源 :网络 阅读 1298 评论 0

摘要:本文将带你了解Vmware之创建旧版本的Docker虚拟机,希望本文对大家学Vmware有所帮助。

本文将带你了解Vmware之创建旧版本的Docker虚拟机,希望本文对大家学Vmware有所帮助。


怎样用DockerToolbox(Docker machine)创建旧版本的Docker虚拟机?
 
    # 我用的电脑环境是Win7 64位操作系统,
#原来使用的 Docker 版本是1.13.1,现在是17.05.x-ce版本了
# 运行docker-machine 时会自动检查并下载最新的 boot2docker.iso 版本
# 而实际生产中,不可能总是使用最新的版本,
    # 一般在一定的时期内,会使用固定的稳定版本.
    # 比如用户想尝试使用 Rancher,因为Rancher只支持稳定的Docker版本,
# 所以只能安装以前的稳定版1.12.3+,在试用的过程中,用户遇到的问题会少很多。
# 那怎么办呢? 怎样用DockerToolbox   Docker machine 创建旧版本的Docker虚拟机呢?
# Docker Machine提供了--virtualbox-boot2docker-url参数,
# 我们可以自己搭建网站,存放指定版本的Boot2docker.iso文件,供Docker machine下载使用。
 
    # 但实际安装操作过程中,总是磕磕绊绊,遇到好多报错,对于初学者来说确实头疼,
# 现将整个过程中遇到的问题及解决办法整理如下:
 
    # 大致步骤及遇到的主要问题:
    # 1 使用WAMP工具包,快速创建一个内部网站,将所需版本的   boot2docker.iso 文件拷贝到网站目录中;
    # 2 使用docker-machine 创建虚拟机时,要带上参数:--virtualbox-boot2docker-url
    # 问题1 创建虚拟机报错?
# 问题2 启动虚拟机无响应?
# 问题3 新建虚拟机目录下的文件Boot2docker.iso大小为0(5KB)?
# 问题4 怎样正确挂载Boot2docker.iso   和disk.vmdk文件?
# 问题5 查看虚机状态时,显示的信息不对?
# 问题6 怎样重新生成秘钥?
   
    # 安装 WAMP Server ,创建一个Web服务器,安装非常方便,直接下一步即可完成安装。
# 默认安装后,Web网站的目录为c:\wamp\www可以将所需要版本的 boot2docker.iso 文件
# 直接放到c:\wamp\www目录下,也可以放到二级目录下,引用时注意即可。
 
   
   
   
    $docker-machine create \
    -d virtualbox \
    --virtualbox-boot2docker-url=//192.168.0.103 \
    docker1
   
    # 执行创建 Docker 虚拟机的命令
# 最后面有报错信息(问题1)
   
   
    catty@15FD201 MINGW64 ~
    $ docker-machine create -d virtualbox   -virtualbox-boot2docker-url=//192.16
    8.3.201 docker1
    Running pre-create checks...
    (docker1) Boot2Docker URL was explicitly set to "//192.168.0.103"   at create
    time, so Docker Machine cannot upgrade this machine to the latest   version.
    Creating machine...
    (docker1) Boot2Docker URL was explicitly set to   "//192.168.0.103" at create
    time, so Docker Machine cannot upgrade this machine to the latest   version.
    (docker1) DownloadingC:\Users\catty\.docker\machine\cache\boot2docker.iso   from
    //192.168.0.103...
      (docker1)0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
    (docker1) Creating VirtualBox VM...
    (docker1) Creating SSH key...
    Error creating machine: Error in driver during machine creation:C:\Program   File
    s\Oracle\VirtualBox\VBoxManage.exe storageattach docker1 --storagectl SATA --por
    t 0 --device 0 --type dvddrive --medium   C:\Users\catty\.docker\machine\machines\
    docker1\boot2docker.isofailed:
    VBoxManage.exe: error: Could not get the storage format of the   medium'C:\Users\
    catty\.docker\machine\machines\docker1\boot2docker.iso'   (VERR_NOT_SUPPORTED)
    VBoxManage.exe: error:Details: code VBOX_E_IPRT_ERROR (0x80bb0005),   component M
    ediumWrap, interface IMedium, callee IUnknown
    VBoxManage.exe: error:Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(),   enmDe
    vType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at   line 179 of
    file VBoxManageDisk.cpp
    VBoxManage.exe: error: Invalid UUID or filename   "C:\Users\catty\.docker\machine\
    machines\docker1\boot2docker.iso"
   
   
    # 显示的虚拟机的状态
# 此时显示新建的虚拟机处于停止运行状态,
   
    catty@15FD201 MINGW64 ~
    $ docker-machine ls
    NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
    default * virtualbox Running tcp://192.168.99.100:2376 v1.13.1
    docker1 - virtualbox Stopped Unknown
   
   
    # 启动新建的 Docker 虚拟机
# 直接运行start命令,虚拟机无响应(问题2),
   
   
    catty@15FD201 MINGW64 ~
    $ docker-machine start docker1
    Starting "docker1"...
    (docker1) Check network to re-create if needed...
    (docker1) Waiting for an IP...
   
    # Windows 7界面中,VM   VirtualBox 显示启动错误信息,
   
    # 到目录中查看, boot2docker.iso 的文件大小为0,(问题3)
# 解决:这个问题3好解决,直接拷贝指定版本的 boot2docker.iso 覆盖0字节的同名文件。
   
     
    # VM VirtualBox 图形化管理界面中,新创建的虚拟机的配置中没有磁盘和启动iso,(问题4)
# 解决:这个问题4也好办,可以手工添加,创建两个磁盘,光驱和可写的硬盘,
# 分别挂载到SATA 0 和   SATA1接口上。
# 手工配置光盘镜像 boot2docker.iso 在SATA0 上,
    # 可写磁盘 disk.vmdk 在 SATA 1 上,再次启动:
   
    catty@15FD201 MINGW64 ~
    $ docker-machine start docker1
    Starting "docker1"...
    (docker1) Check network to re-create if needed...
    (docker1) Waiting for an IP...
    Machine "docker1" was started.
    Waiting for SSH to be available...
    Detecting the provisioner...
    Started machines may have new IP addresses. You may need to re-run the   `docker-m
    achine env` command.
   
    # 能够正常启动
   
   
    # 由于是手动设置磁盘的,系统提示IP地址变化,执行ls时,显示虚拟机的信息不对,(问题5)
# 提示“不能查询Docker的版本”“未知的机关签署的证书”(问题5)。
   
    catty@15FD201 MINGW64 ~
    $ docker-machine ls
    NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
    default * virtualbox Running tcp://192.168.99.100:2376 v1.13.1
    docker1 - virtualbox Running tcp://192.168.99.101:2376 Unknown Unable toquery   docker version: Get https://192.168.99.101:2376/v1.15/version: x509:   certificate signed by unknown authority
   
    # 解决:问题5也好办,无法正确显示docker版本,需要重新生成密钥,
    # 解决:问题6,重新生成秘钥 执行的命令是 docker-machine regenerate-certs
   
    catty@15FD201 MINGW64 ~
    $ docker-machine regenerate-certs docker1
    Regenerate TLS machine certs? Warning: this is irreversible. (y/n): y
    Regenerating TLS certificates
    Waiting for SSH to be available...
    Detecting the provisioner...
    Copying certs to the local machine directory...
    Copying certs to the remote machine...
    Setting Docker configuration on the remote daemon...
   
   
    # 再次显示 Docker 虚拟机的状态
   
    catty@15FD201 MINGW64 ~
    $ docker-machine ls
    NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
    default * virtualbox Running tcp://192.168.99.100:2376 v17.05.0-ce
    docker1 - virtualbox Running tcp://192.168.99.101:2376 v1.13.1
   
    #一切正常,v17.05.0-ce版与v1.13.1版的虚拟机同时存在。
   
     
     
    参考链接:
WAMP Server下载地址(官方)://www.wampserver.com/en/
    WAMP Server下载地址(网盘)://pan.baidu.com/s/1qYPnnC4
    WAMP Server下载地址(其他)://dl.pconline.com.cn/download/52877-1.html
     
    Docker Toolbox for Win7下载地址:(下载较快)
https://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
    Boot2Docker.iso 下载地址:(网盘下载)
//pan.baidu.com/s/1hrTqKcs
    Docker Toolbox 官方下载地址:(下载较慢)
https://www.docker.com/products/docker-toolbox
    Boot2Docker.iso 官方下载地址:(下载较慢)
https://github.com/boot2docker/boot2docker/releases    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标系统运维之Vmware频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程