【云计算学习笔记(十二)】之Win7中Docker ToolBox实验

本文章由公号【开发小鸽】发布!欢迎关注!!!


老规矩–妹妹镇楼:

一. Win7中ToolBox的使用

(一) Windows版本选择

       对于Win10专业版用户,在Windows中使用Docker可以选用带有hyper-v功能的Docker for Windows,但是对于Win10家庭版,win8, win7用户,只能够使用Docker ToolBox来使用Docker。鉴于项目指定仿真环境统一为Win7环境,因此选用Docker ToolBox进行实验。

(二)ToolBox介绍

       docker toolbox是一个工具集,它主要包含以下一些内容:

  1. Docker CLI 客户端,用来运行docker引擎创建镜像和容器

  2. Docker Machine. 可以让你在windows的命令行中运行docker引擎命令

  3. Docker Compose. 用来运行docker-compose命令

  4. Kitematic. 这是Docker的GUI版本

  5. Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境

  6. Oracle VM Virtualbox. 虚拟机

       由于Docker引擎的守护进程使用的是Linux的内核,所以我们不能够直接在windows中运行docker引擎。而是需要运行Docker Machine命令 docker-machine, 在你的机器上创建和获得一个Linux虚拟机,用这个虚拟机才可以在你的windows系统上运行Docker引擎。

(三) Win7中安装ToolBox

1.安装ToolBox

       下载DockerToolbox-18.03.0-ce,在Win7虚拟机中安装。安装完成后,桌面会安装三个软件,一个是VirtualBox,一个是Kitematic,Docker的GUI版本,另一个是配置好的Docker命令行运行环境。


在这里插入图片描述

2. 快速使用Docker ToolBox

       启动QuickStart环境,在安装成功的情况下会创建一个默认的虚拟机,并自动配置参数,出现以下图标表示安装成功:
在这里插入图片描述

       再通过docker run命令运行一个hello-world,得到如下的结果表示docker运行正常:
在这里插入图片描述

       可能存在的问题:由于我们的Win7系统是虚拟机,因此它默认是没有开启虚拟化的,我们需要在Vmware的虚拟机设置中将vt开启,如下所示:


在这里插入图片描述

(四) 使用ToolBox

1. docker-machine命令

       通过该命令可以创建和管理Docker虚拟机,该虚拟机的本质还是一个优化过的linux操作系统,在Docker ToolBox中可以创建多个Docker虚拟机,每个虚拟机中都可以运行多个Docker容器。

docker-machine ip 获取该虚拟机的ip地址;
docker-machine active 查看哪台虚拟机存活着;
docker-machine env 获取环境变量;
docker-machine inspect 获取虚拟机的详细信息;
docker-machine kill 杀掉一个虚拟机;
docker-machine ls 列出所有的虚拟机;
docker-machine restart 重启一个虚拟机;
docker-machine rm 删除一个虚拟机;
docker-machine scp 在虚拟机之间传递文件;
docker-machine mount 挂载或卸载一个目录;
docker-machine start 启动一个虚拟机;
docker-machine stop 停止一个虚拟机;
docker-machine url 获取虚拟机的url;

2. docker 命令

       docker命令就和普通的docker命令一样,这里就不赘述了。

3. 在Docker虚拟机中安装Mysql容器测试

       使用docker search mysql 命令查询最新的mysql镜像,pull下来然后通过docker run命令创建一个mysql容器:

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

       也就是说,当前的mysql容器的3306端口与它所处的linux宿主机的3306端口是对应的,因此我们通过访问该linux虚拟机的3306端口就可以访问到mysql容器了。

       通过docker-machine ip查询到当前的default虚拟机的ip,要在win7虚拟机中访问到ToolBox中的这个linux虚拟机的3306端口,还需要对该mysql容器设置外部访问,在/etc/mysql/my.cnf配置文件中,[mysqld]下添加bind-address=0.0.0.0,表示允许外部访问。

       在Win7虚拟机中安装mysql,并且通过命令行可以访问到ToolBox中的这个mysql容器。
在这里插入图片描述


4. 思考:为什么要在windows中使用容器?

       单独的微服务已经可以通过jar包以及bat批处理的方式在windows上启动,我为何还要耗费大量内存以及CPU资源在windows上生成一个linux虚拟机,然后在linux虚拟机上使用docker容器,这样不是既麻烦,又浪费空间吗?节点上的微服务的功能都是单一且不太可能会变化的,即使变化了,也可以通过重新打包的方式重新生成jar包。因为后期我们需要生成的每个虚拟机都是通过一个通用的win7镜像生成的,如果我们的节点上的微服务功能需要调整,只需要重新生成一个win7镜像即可,这个修改成本与每个win7节点上运行一个linux虚拟机来比是非常低的,因此,我觉得可以放弃在windows中使用容器来运行节点的微服务这个想法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值