docker-machine 创立主机(win10)

作者 : 开心源码 本文共2914个字,预计阅读时间需要8分钟 发布时间: 2022-05-12 共158人阅读

在 win10 上用 docker-machine 创立主机用 hyperv 驱动.

准备工作

官方提醒: 注意,必需事前在 Hyper-V 管理器中新建一个 外部虚拟交换机 执行下面的命令时,用 –hyperv-virtual-switch=MY_SWITCH 指定虚拟交换机名称

看起来好麻烦, 但是又能怎样办呢? ⊙﹏⊙

点击 win 窗口图标, 在 windows 管理工具下选择 Hyper-V 管理器, 而后在右侧操作栏选择虚拟交换机管理器, 诺, 像这样:

3.png

而后在弹出的新窗口中点击新建虚拟机网络交换机, 选择外部, 点击创立虚拟交换机

4.png

为新的虚拟交换机取一个好听的名字, 而后选择外部网络, 选择相应的网卡, 而后点击确定, 这时我们的外部虚拟交换机就准备好了, 这是创立 docker 主机的准备工作

5.png

创立主机

好了, 准备工作完毕, 下面即可以创立主机了, 在命令行中行云流水的敲出这行代码:

docker-machine create --driver hyperv --hyperv-virtual-switch=docker manager

这里需要在管理员权限下运行命令行

命令跑起来了, 一切都很完美

Creating CA: D:\docker\certs\ca.pemCreating client certificate: D:\docker\certs\cert.pemRunning pre-create checks...Creating machine...(manager) Copying D:\docker\cache\boot2docker.iso to D:\docker\machines\manager\boot2docker.iso...(manager) Creating SSH key...(manager) Creating VM...(manager) Using switch "docker"(manager) Creating VHD(manager) Starting VM...(manager) Waiting for host to start...Waiting for machine to be running, this may take a few minutes...Detecting operating system of created instance...Waiting for SSH to be available...

好的, 继续等待…

等待…

假如你跟我一样幸运的话, 你会发现, 等了半天, 命令行还是非常优雅的卡在了:

Waiting for SSH to be available...

怎样回事, 我是个急性子啊, 这样下去, 是要我等到天荒地老吗?

可能你和我一样已经按捺不住了…

再让我等可能会忍不住砸键盘了

好吧, 不能再等了, 是时候行动起来了:

$ docker-machine lsNAME      ACTIVE   DRIVER   STATE     URL                         SWARM   DOCKER    ERRORSmanager   -        hyperv   Running   tcp://192.168.43.196:2376           Unknown   Unable to query docker version: Get https://192.168.43.196:2376/v1.15/version: x509: certificate signed by unknown authority

额…怎样出现了errors, 这是什么鬼

那我试试 ssh 连接这个主机吧:

docker-machine ssh manager

进不去?

咋办? 完全不知道怎样回事啊, 好吧, 只有祭出神器了: 百度, google …

得到一行调试命令:

ssh -vvv -F /dev/null -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@192.168.43.157 -o IdentitiesOnly=yes -i D:\docker\machines\manager\id_rsa -p 22

这里需要修改成你对应的 docker 主机的 IP 以及私钥地址

一大堆 debug 信息输出了出来, 还是连接不到 docker 主机 , 不过这里我们得到了关键信息

debug3: Bad permissions. Try removing permissions for user: S-1-5-11 on file D:\\docker\\machines\\manager\\id_rsa.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Permissions for 'D:\\docker\\machines\\manager\\id_rsa' are too open.It is required that your private key files are NOT accessible by others.This private key will be ignored.

这个如同是私钥的权限问题造成的, 提醒我们去修改私钥权限, 好吧.

找到主机目录, 这里我的主机目录是

D:\docker\machines\manager

这里有一个 id_rsa 文件, 在文件上单击右键, 选择属性, 打开弹窗后, 选择安全

6.png

在这里我尝试了很屡次, 当然, 也失败了很屡次, 每次要么就是报 bad permissions 错误, 就是报 bad owner 错误, 这里, 我直接给出正确的解决方式

  • 首先, 点击编辑, 新的弹窗中增加一个新的使用户, 给到所有权限, 点击确定

我的电脑使用户是 Hans, 所以我增加了一个 Hans 使用户, 而后给他所有权限

  • 而后点击高级按钮, 点击所有者后面的 更改 按钮, 将所有者更改为 Hans
  • 紧接着点击左下角的禁使用继承, 选择第一项, 确定退出
  • 之后再点击编辑, 删除除了 Hans 之外的其余使用户

7.png

我这里保留了一个 Administrators 使用户, 把他的权限只保留了读取, 不过如同也并不影响

接下来, 在命令行中输入

$ docker-machine restart manager(manager) Waiting for host to stop...(manager) Waiting for host to start...Waiting for SSH to be available...Detecting the provisioner...Restarted machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

嘿嘿, 感觉不错的样子, 到这里 docker 主机就算创立成功了.

假如有帮到你, 点个赞吧.

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » docker-machine 创立主机(win10)

发表回复