首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

提供数字海洋 | Provision Digital Ocean Droplets (Machine)

试用Docker Cloud!

我们建议使用Docker Cloud作为在您的云提供商上运行Docker的最新方式。要开始使用,请参阅Docker Cloud文档主页Docker Cloud Settings和Docker ID,以及将DigitalOcean帐户与Docker Cloud相关联。如果您正在运行适用于Mac或Windows的Edge通道Docker,则可以从这些Docker桌面应用程序访问您的Docker Cloud帐户。请参阅MacWindows上的Docker Cloud(Edge功能)。

Docker Machine仍然可以按照下面的描述工作,但Docker Cloud为此目的而取代机器。

跟随此示例创建一个Dockerized Digital Ocean液滴(云主机)。

步骤1.创建数字海洋帐户

如果您还没有这样做,请访问Digital Ocean,创建一个帐户,并登录。

步骤2.生成个人访问令牌

若要生成访问令牌,请执行以下操作:

  1. 转到Digital Ocean管理员控制台并在标题中单击API
  1. 点击生成新令牌才能到达令牌发生器。
  1. 给令牌一个聪明的名字(例如“机器”),确保Write(可选)复选框被选中,然后点击Generate Token
  1. 抓取(复制到剪贴板)生成的大长十六进制字符串并将其存储在安全的地方。

这是您在下一步创建云服务器时将使用的个人访问令牌。

步骤3.使用机器创建液滴

  1. docker-machine createdigitalocean驱动程序一起运行并将密钥传递给--digitalocean-access-token标志以及新的云服务器的名称。

对于这个例子,我们会打电话给我们新的Droplet“docker-sandbox”。

$ docker-machine create --driver digitalocean --digitalocean-access-token xxxxx docker-sandbox运行预创建检查...创建机器...(docker-sandbox)OUT | 创建SSH密钥...(docker-sandbox)OUT | 创建Digital Ocean液滴...(docker-sandbox)OUT | 等待IP地址分配给Droplet ...等待机器运行,这可能需要几分钟的时间...机器正在运行,等待SSH可用...检测创建实例的操作系统.. 。检测Provisioner ... Provisioning创建的实例...将证书复制到本地机器目录...将证书复制到远程机器...在远程守护进程上设置Docker配置...了解如何将Docker连接到此机器,运行:~/.docker/machines。

最初,这用于配置主机。之后,它会在docker-machine ssh指令下直接访问Droplet 。Docker Engine安装在云服务器上,守护程序配置为通过TCP接受远程连接,使用TLS进行身份验证。

  1. 转到Digital Ocean控制台查看新的液滴。
  1. 在命令终端,运行docker-machine ls. $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM default - virtualbox Running tcp://192.168.99.100:2376 docker-sandbox * digitalocean Running tcp://45.55.139.48:2376 新docker-sandbox机器正在运行,并且它是活动的如星号(*)所示。当你创建一台新机器时,你的命令行程序会自动连接到它。如果由于某种原因,您的新机器不是主动主机,则需要运行docker-machine env docker-sandbox,然后eval $(docker-machine env docker-sandbox)连接到它。步骤4.在Droplet上运行Docker命令
  1. 运行一些docker-machine命令来检查远程主机。例如,docker-machine ip <machine>获取主机IP地址并docker-machine inspect <machine>列出所有详细信息。

$ docker-machine ip docker-sandbox 104.131.43.236 $ docker-machine inspect docker-sandbox { "ConfigVersion": 3, "Driver": { "IPAddress": "104.131.43.236", "MachineName": "docker-sandbox", "SSHUser": "root", "SSHPort": 22, "SSHKeyPath": "/Users/samanthastevens/.docker/machine/machines/docker-sandbox/id_rsa", "StorePath": "/Users/samanthastevens/.docker/machine", "SwarmMaster": false, "SwarmHost": "tcp://0.0.0.0:3376", "SwarmDiscovery": "", ...

  1. Verify Docker Engine is installed correctly by running docker commands.通过运行docker命令验证Docker Engine是否正确安装。 从一些基本的东西开始docker run hello-world,或者为了更有趣的测试,在新的远程机器上运行Dockerized Web服务器。 在本例中,该-p选项用于从nginx容器中公开端口80,并使其可以在端口8000上访问docker-sandbox主办。 $ docker run -d -p 8000:80 - 名称webserver kitematic / hello-world-nginx无法找到本地最新的图像'kitematic / hello-world-nginx:latest':从kitematic / hello-world-nginx中拉出a285d7f063ea:拉完整2d7baf27389b:拉完整...摘要:sha256:ec0ca6dcb034916784c988b4f2432716e2e92b995ac606e080c7a54b52b87066 状态:为kitematic/hello-world-nginx下载更新的图像:最新942dfb4a0eaae75bf26c9785ade4ff47ceb2ec2a152be82b9d7960e8b5777e65 在Web浏览器,进入http://<host_ip>:8000弹出Web服务器主页。您<host_ip>从docker-machine ip <machine>上一步中运行的命令的输出中获得了该信息。使用您在该docker run命令中公开的端口。

第5步。使用机器删除Droplet要删除主机及其所有容器和图像,请先停止机器,然后使用docker-machine rm: $ docker-machine rm docker-sandbox 您真的要删除吗? “docker-sandbox”?(y / n):y 成功移除docker-sandbox $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM 默认 * virtualbox运行tcp:////xxx.xxx.xx.xxx:xxxx如果您在监控Digital Ocean控制台的同时运行这些命令,您会首先看到它更新,以反映Droplet已停止,然后被删除。如果您使用Docker Machine创建主机,但通过云提供程序控制台删除它,Machine将失去跟踪服务器状态的信息。所以请使用docker-machine rm创建的主机的命令docker-machine create。下一步去哪里

  1. 理解机器概念
  1. Docker机器驱动程序参考
  1. Docker Machine子命令参考

扫码关注腾讯云开发者

领取腾讯云代金券