Docker - docker machine
前言
之前在使用docker的时候,对于docker-machine的理解有一些误解(之前一直以为docker-machine和docker-engine等价的,只不过是在window或者mac平台上的docker-engine的别名罢了,汗~~~); 今天正好利用这个机会来好好的理一理。
定义
登录官网,搜索到 docker-machine, 官网对于它的定义接单来说就是:一个在“本地”或者“云平台”上 管理 docker-engine 的工具。(截图来自官网)
在Linux上: 我们可以用它管理远程的docker host
在mac/window上:我们可以用它管理本地的 docker engine/host
正如上述,docker-machine 是在docker-host(物理机器)上面管理 docker-engine的工具,所以它有属于它自己的一组CLI(command line interface)。
下面,我们就来看看,如何在本地使用docker-machine.
在win7上使用docker-machine
由于我的本本比较"老",所以只能在win7上面通过virtual box来跑docker.
当我们安装完成以后,在默认情况下,docker-machine 会自动建立一个名为 “default”的 machine/engine。 如图
我们再来查看一下当前的docker-machine 列表
$ docker-machine ls
可以看到,在我们的列表中有一个defaut, 现在再来创建一个新的 docker-machine/engine (default2):
docker-machine create --driver virtualbox default2
完成之后,我们可以看到,现在我们有了两个docker-machine,他们分别运行着各自的 docker-engine
接下来,我们来检查 docker-engine : default2 的环境
$ docker-machine env default2
通过docker-machine 连接到docker - engine (default2)
$ eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env default2)
接下来,让我们使用docker CLI 来跑一个container,测试一下
$ docker run busybox echo hello world
OK,一切正常!!这样我们就在“本机”环境下创建了两个docker-machine,分别运行着各自的docker-engine :)
最后附上docker-machine 常用的 CLI 列表
$ docker-machine config <docker-machine name> $ docker-machine env <docker-machine name> $ docker-machine inspect <docer-machine name> $ docker-machine ip <docker-machine name> $ docker-machine kill <docker-machine name> $ docker-machine provision <docker-machine name>` $ docker-machine regenerate-certs <docker-machine name> $ docker-machine restart <docker-machine name> $ docker-machine ssh <docker-machine name> $ docker-machine start <docker-machine name> $ docker-machine status <docker-machine name> $ docker-machine stop <docker-machine name> $ docker-machine upgrade <docker-machine name> $ docker-machine url <docker-machine name>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2012-06-05 .NET垃圾收集关键方法解析(转)
2012-06-05 VC6++ output :error executing c:\windows\system32\cmd.exe.