zoukankan      html  css  js  c++  java
  • Windows安装Docker Toolbox 和docker-machine 常用操作

    最近在研究虚拟化,容器和大数据,所以从Docker入手,下面介绍一下在Windows下怎么玩转Docker。

    Docker本身在Windows下有两个软件,一个就是Docker,另一个是Docker Toolbox。这里我选择的是Docker Toolbox,为什么呢?参见官方文档:

    官方下载地址(推荐):https://blog.docker.com/2015/08/docker-toolbox/

    从阿里云下载的docker-toolbox-18.03.0-ce安装完成后在启动的时候报错好多,官方下的19.03.1版本的启动很顺利

    首先我们从官网下载最新版的Windows Docker Toolbox。安装后会安装一个VirtualBox虚拟机,一个Kitematic,这是GUI管理Docker的工具,没有发布正式版,不推荐使用,另外还有就是我们在命令行下用到的docker-machine和docker命令了。

    安装

    安装过程很简单,保持默认选项,直接【next】即可。VirualBox和Git如果已经安装,也可以不选

     安装完成后,桌面上会多出3各图标,如下。其中VirtualBox提供了linux虚拟机的运行环境,Docker Quickstart Terminal用于快速介入linux虚拟机,提供命令行交互,Kitematic是docker GUI很少用到。

    安装的时候要把Git For Windowns勾选起来,不然会出现图下错误

     或者参考这里解决https://blog.51cto.com/suyanzhu/2315322

    启动

    添加环境变量MACHINE_STORAGE_PATH值为E:VirtualBox VMsDefault

    (虚拟机文件存储的位置,放在E盘,默认在C盘下,避免C盘空间不足)把已经安装的虚拟机文件转移一个盘老是出错,不是知道为什么,所以建议在创建default之前把我虚拟机文件目录设置好。

    第一次运行Docker Quickstart Terminal时会进行Docker环境的初始化,会在VirtualBox中自动创建名字为【default】的linux虚拟机,再此过程中会用到boot2docker.iso镜像文件。默认情况下,启动程序会从GitHub上下载此文件的最新版,但由于文件相对较大且速度不给力,多数情况下会下载失败,造成Docker环境无法启动,如下图:

    解决方法:

    其实DockerToolbox安装文件自带了boot2docker.iso镜像文件,位于安装目录下(如C:Program FilesDocker Toolbox) ,将此文件拷至E:VirtualBox VMsDefaultcache目录下,然后重新启动,结果还是出错,然后在网络断开的情况下重新启动,便可初始化成功。如下图

    其中 【192.168.99.100】是VirtualBox中名字为【default】虚拟机的ip地址。 

    镜像加速

    在国内使用Docker Hub的话就特别慢,为此,我们可以给Docker配置国内的加速地址。我看了一下,DaoCloud和阿里云的镜像加速还不错,另外还有网易的蜂巢。选一个就行了。以DaoClound为例,注册账号,我用的加速地址是:https://alzgoonw.mirror.aliyuncs.com

    然后到PowerShell中去依次执行:

    docker-machine ssh default 
    sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile 
    exit 
    docker-machine restart default

    这样重启Docker后就可以用国内的镜像来加速下载了。

    试一下下载一个mysql看看快不快:

    docker pull mysql

    下载完镜像,我们运行一个容器:

    docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123 mysql:latest

    接下来我们打开windows下的mysql客户端,服务器地址填docker虚拟机的IP地址,通过docker-machine env可以看到,我这里是192.168.99.100,然后用户名root,密码123,这样我们就可以连接到docker容器里面的mysql了。

    【注意,Docker容器是在VirtualBox的虚拟机里面,不是在Windows里面,所以不能用127.0.0.1访问】

     Docker Quickstart Terminal只适合用于初始化安装default,后续管理docker建议还是用powershell 

    docker-machine 常用操作

    #链接到default docker
    docker-machine ssh default
  • 相关阅读:
    类的空间问题
    面向对象初识
    collections模块,shelve模块
    一段水印文字的练习
    jquery选择器中(:button)的含义
    关于通过jquery来理解position的relative及absolute
    [小明学算法]1.动态规划--最长递增子序列问题
    [小明学算法]2.贪心算法----
    [Unity的序列化]2.技能编辑器的实现
    [Unity的序列化]1.什么是序列化
  • 原文地址:https://www.cnblogs.com/a282421083/p/13284797.html
Copyright © 2011-2022 走看看