gpt4 book ai didi

docker - 如何使用 docker-machine 和 VirtualBox 创建基于 ubuntu 的 docker 主机?

转载 作者:行者123 更新时间:2023-12-04 17:33:30 26 4
gpt4 key购买 nike

我是 docker 的新手,并尝试使用 docker-machine 创建 docker 主机。

目前,我使用 VirutalBox 作为试用环境。

当我使用 docker-mahine 创建 docker 主机时,它默认使用 VirtualBox 上的 Boot2Docker 创建 VM。但我想在 Virtualbox 上使用 Ubuntu 15.10 创建一个 docker 主机。

是否可以使用 docker-machine 在 VirtualBox 上创建基于 Ubuntu 的 docker 主机?

最佳答案

OP 没有描述他们如何使用通用驱动程序来解决他们的问题,所以如果有人感兴趣,我是这样做的:

  • 获取 Ubuntu Server ISO
  • 在 VirtualBox 中创建一台机器。我称我的为“Ubuntu 模板”,因为我想在本地学习 Swarm,所以我想要一台能够复制并在较长的初始设置后快速获得后续机器的机器。
  • 在设置中为机器启用桥接网络而不是 NAT
  • 启动机器并使用 ISO 安装 Ubuntu。在安装过程中,它会给你一个安装 OpenSSH 的选项,选择该选项。它还会要求您创建一个新用户。我用密码“ubuntu”称呼我的“ubuntu”。您将多次使用此用户,因此请将凭据设置为易于内存的内容
  • 安装完成后切换到root:sudo su
  • 使用 passwd 将 root 的密码更改为易于记住的密码
  • 生成 key :ssh-keygen
  • 使您刚刚生成的 key 获得授权:cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
  • 编辑文件 /etc/ssh/sshd_config并使用“PermitRootLogin”更改该行,使其显示为 PermitRootLogin yes
  • 重新启动 SSH 以激活更改:service ssh restart
  • 运行 ifconfig并记下机器的IP
  • 在主机上打开终端
  • 运行(替换您机器的 IP):ssh root@10.10.10.89 'cat ~/.ssh/id_rsa' > ~/.ssh/docker_test
  • 跑:ssh root@10.10.10.89 'cat ~/.ssh/id_rsa.pub' > ~/.ssh/docker_test.pub
  • 运行(返回 VM)shutdown now
  • 在 VirtualBox 中,克隆模板机器(选中复选框以重新初始化 MAC 地址)。我命名我的 ubuntu-1
  • 启动新的虚拟机并运行 echo 'ubuntu-1' > /etc/hostname然后 reboot .仅当您要从同一模板创建更多机器时才需要这样做,然后将它们命名为 ubuntu-1、ubuntu-2 等等
  • 运行 ifconfig找出克隆机器的IP
  • 在您的主机上运行:docker-machine create --driver generic --generic-ip-address 10.10.10.90 --generic-ssh-key ~/.ssh/docker_test ubuntu-1

  • 可能需要几分钟才能完成(主要是在“安装 docker”步骤中),但您应该拥有一台基于 Ubuntu 的 docker 机器。您可以通过运行 docker-machine use ubuntu-1 来验证它是否有效。然后 docker run hello-world
    它比使用 Boot2Docker 更复杂,但在初始设置之后它应该是非常可行的。我还没有对它做太多,我只是通过运行 hello-world 验证它似乎可以工作,所以可能会有更多的问题,就像 Docker 经常遇到的那样。

    额外提示:VirtualBox 允许您在 headless 模式下运行机器。在初始设置并允许通过 SSH 进行 root 访问后,如果需要,可以 headless 运行机器并通过 SSH 连接到它们可能会更方便,您可以关闭 VB 的 GUI,机器现在像后台服务一样运行。

    关于docker - 如何使用 docker-machine 和 VirtualBox 创建基于 ubuntu 的 docker 主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33935800/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com