Windows 下 Docker 的简单学习使用过程之一 dockertoolbox
1. Windows 下面运行 Docker 的两个主要工具
1): Docker for Windows
2): DockerToolbox
区别:
Docker For Windows 可以理解为是新一代的 Windows下的运行平台.
Docker Tool box 是上一代的运行平台.
他们的优缺点:
toolbox 自带一个virtualbox的驱动, 能够生成一个 virtualbox的虚拟机,作为Docker deamon的运行使用.
一般设置2G 内存 进行运行.
优点 自带vb 兼容性好 windows 下面基本上都可以运行.
缺点 不支持windows 的container 只能运行 linux container
Docker For windows 是新一代的平台. 官方也更支持. 支持windows container 但是存在一个缺点.
必须使用 HyperV 的虚拟化平台
但是开启了HyperV 的角色之后 win10 更像是运行在hyperV 上面的一个虚拟机了, 也就意味着着 Workstation还有virtualbox 这样的虚拟化平台就无法使用了.
如果还有其他的虚拟机要用的话 可能就无法使用了.
但是优点也很多.
2. kitematic 是一个UI的container 管理界面 能够 从docker hub 中拉取images 执行, 并且查看web页面 修改配置, 修改volume 等工作.
是一个很好的docker 入门学习工具.
使用教程:
1. Dockertoolbox + kitematic
下载安装以及使用kitematic 进行简单测试
前提, win10 的机器 没有安装 hyperV的角色
下载和安装都比较简单

看到会自动选择 安装kitematic
安装完成之后 会必须安装一个 virtualbox
然后下一步可以看到 有增加环境变量和 更新 boot2docker images 的过程 这样的话 出来的就是最新版本了

开启 之后会自动加载一个 linux 虚拟机 里面的信息为

运行 在里面也能够执行命令

但是这样处理太过繁琐了 肯定不是学习想要的效果.
可以使用cmd 或者是 powershell 进行 docker 的处理
但是第一次打开会报错如图示

这里需要执行一个命令
@FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i
这里发现一个问题 powershell 执行这个脚本报错 但是cmd 是没有问题的 如图

验证能够正常执行.
运行一个容器测试

打开浏览器查看结果
首先得查看一下 虚拟机的 ip地址

然后打开浏览器查看

一个很简单的container 就生成了.
可以使用kitematic 进行 docker 的简单学习与处理 界面为:
打开

第一步需要你登录 docker hub 来下载 images
这个 上docker hub 上面注册一下即可 跟github 差不多的提供服务的方式.
注册完登录之后的修改为
我圈中的就是 刚才我手工命令生成的container

但是我这个container 太简单也 也没法修改页面.
可以可以改一下 docker 的 run 命令来改善一下
执行一个新命令
docker run -d -p : -v /root/:/usr/share/nginx/html/ nginx
命令解释一下
run 执行 -d daemon 后台模式运行 -p 映射端口 到linux moby 虚拟机. -v 挂载volume nginx 是images 的名字 发现这里 --name参数无效 不在深究了
然后打开浏览器进行查看

因为我虽然挂在了一个目录, 但是目录下面没有 任何 nginx可以读取的文件. 所以 在linux里面处理一下.
vi index.html 点击 i 或者是 insert 按键 进入编辑状态 输入 zhaobsh test 点击 esc 返回 vi 编辑器的 命令模式 输入 :wq 保存退出 再次验证 主页

有效果了
但是感觉这样还是很繁琐
重新打开一下 kitematic 工具
看到 生成的container 已经有了

这里面可以进行的操作有很多 比如
可以关闭和开启 container

2.可以进入 container 内存查看

能够执行linux的命令

也能够查看 images 的信息

这个地方打开的 cli 是可以不输入 那个命令就能执行 也支持 powershell 的

最强的功能应该是 setting的功能

能够更改端口 跟改到windows 机器作为volume 来进行挂载
创建的功能:
一个很简单的例子 我创建一个jenkins的镜像.

然后选中jenkins 进行 create

然后就会下载images 的镜像了.

下载完成之后就会自动运行 生成一个container
很快就搭建完成了

但是设置里面是没有挂载本地目录的 可以选择一个目录

但是这里发现 域控的情况下 对权限有影响... 无法挂载 这个实验就到此结束. 可以使用 docker for windows 在 adminstrator 为主要权限的机器上面再继续下去
发现很长,先写toolbox的. toolbox 很多地方不是特别好用 感觉还是 用 docker for windows 的好一些.
下一篇博客里面来写.
Windows 下 Docker 的简单学习使用过程之一 dockertoolbox的更多相关文章
- Windows 下 Docker 的简单学习使用过程之三 创建images 导出images
1. 创建images 主要有两种方法, 一种是docker commit 一种是docker build 其中有一个很明显的区别: docker commit 是将运行状态的虚拟机 进行 生成ima ...
- Windows 下 Docker 的简单学习使用过程之二 Docker For windows
1. Docker For windows 最新版也支持到了 docker ce 18.06 (这个博客的编写时间是 2018.8.17 当时是最新的) 2. 下载安装. 大概500m 左右的安装文件 ...
- Windows下的lua-5.3.4安装过程
Windows下的lua-5.3.4安装过程 Mingw平台下的编译过程: $ make echo$ make mingw$ make local $ make echo PLAT= none CC= ...
- kubernetes实战之consul篇及consul在windows下搭建consul简单测试环境
consul是一款服务发现中间件,1.12版本后增加servicemesh功能.consul是分布式的,可扩展的,高可用的根据官方文档介绍,目前已知最大的consul集群有5000个节点,consul ...
- windows下docker的安装及常用命令学习
docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...
- 从Docker在Linux和Windows下的区别简单理解Docker的层次结构
上篇文章我们成功在Windows下安装了Docker,输出了一个简单的Hello World程序.本文中我们将利用Docker已有的云端镜像training/webapp来发布一个简单Python的W ...
- windows下docker与.net core 的简单示例
一 windows 下安装docker 二 .net core 项目 新建一个空的ASP.NET Core Web 应用程序 在该项目的目录下执行dotnet publish,可以看到在bin\Deb ...
- Windows 下 docker 部署 gitlab ci
一.安装 1. 安装 docker Docker下载 注意:Windows 10 家庭版获取 之前的版本不能直接安装 Docker ,而是需要去安装 Docker Toolbox 我这里安装的是 Do ...
- windows下Docker的安装
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
随机推荐
- [转]学习C#:Attribute与Property
一.什么是Attribute 先看下面的三段代码: 1.自定义Attribute类:VersionAttribute [AttributeUsage(AttributeTargets.Class)] ...
- leetcode709—To Lower Case
Implement function ToLowerCase() that has a string parameter str, and returns the same string in low ...
- Kafka设计解析(二十二)Flink + Kafka 0.11端到端精确一次处理语义的实现
转载自 huxihx,原文链接 [译]Flink + Kafka 0.11端到端精确一次处理语义的实现 本文是翻译作品,作者是Piotr Nowojski和Michael Winters.前者是该方案 ...
- Python 函数(一)
Python3 函数(基本概念) 1.概念: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段:通过函数,可以对特定功能的代码进行封装,实现代码的复用. 2. 5.参数传递 (1) P ...
- [笔记] ubuntu下添加windows的字体
方法如下: 第一步:将windows下喜欢的字体文件copy到一个文件夹中,例如将XP里WINDOWS/FONTS中的字体文件(本人比较贪心,把整个文件夹copy了过来……),在linux中命名为xp ...
- poj 1364 King(线性差分约束+超级源点+spfa判负环)
King Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 14791 Accepted: 5226 Description ...
- POJ 2367 Genealogical tree 拓扑排序入门题
Genealogical tree Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8003 Accepted: 5184 ...
- Linux下端口被占用确认
有时候关闭软件后,后台进程死掉,导致端口被占用.下面以JBoss端口8083被占用为例,列出详细解决过程. 解决方法: 1.查找被占用的端口 netstat -tln netstat -tln | g ...
- gdb中信号
信号(Signals) 信号是一种软中断,是一种处理异步事件的方法.一般来说,操作系统都支持许多信号.尤其是UNIX,比较重要应用程序一般都会处理信号.UNIX定义了许 多信号,比如SIGINT表示中 ...
- CentOS 建立本地yum源服务器
安装CentOS系统,配置系统的网络环境 配置静态IP vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet O ...