Docker(三)docker-machine连接云服务器

一、准备工作

  1. 去阿里云服务器官网,购买ECS服务器。注意要买按月租或年租的服务器,本文只演示月租或年租的服务器,按流量付费的服务器的相关操作与此不同。
  2. 进入控制台,重置密码。
    这里写图片描述注意:重置密码后要重启服务器

二、远程管理阿里云的docker

docker-machine不支持直接创建阿里云ECS,这里本文只想用docker-machine远程安装管理docker的功能。docker官方虽然没有阿里云driver但有一个generic driver,可通过ssh管理远程的服务器

那么问题来了,docker-machine的ssh功能只支持基于Public Key认证,而阿里云创建虚拟机的时候只支持通过密码登录,所以还需配置一下Public Key。

2.1 配置密钥

ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上,ssh-copy-id命令也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限

安装ssh-copy-id

brew install ssh-copy-id

生成密钥:

ssh-keygen

在生成密钥等时候特别注意下:会遇到提示Enter passphrase (empty for no passphrase):,在这里最好不要对私钥设置口令(passphrase),直接Enter,设置口令为空。不然会出现,在后面使用docker-machine create命令的时候会一直提示要输入passphrase,而且不管我输入的正确与否。

把本地的公钥~/.ssh/id_rsa.pub拷贝到远程主机上:

# 0.0.0.0表示阿里云服务器等公网ip
ssh-copy-id -i ~/.ssh/id_rsa.pub root@0.0.0.0

我在运行该命令的时候遇到个问题(由于是第二天写博客忘记裁图了,只记住大概的报错信息):ssh连接服务器的时候,提示:Operation timed out

如何解决?

  1. 首先,登录到阿里云控制台,进入云服务器 ECS,进入安全组栏目,进入配置规则
    这里写图片描述

  2. 进入配置规则后,再进入添加安全组规则
    安全组规则
    这里因为ssh默认为22端口,所以端口范围填写22/22

配置完以上步骤后,就可以正常运行ssh-copy-id -i ~/.ssh/id_rsa.pub root@0.0.0.0啦。

测试ssh是否能正常连接:

# 0.0.0.0表示阿里云服务器等公网ip
ssh root@0.0.0.0

2.2 创建阿里云的docker-machine

export ECS_IP=0.0.0.0 # 0.0.0.0表示阿里云服务器等公网ip
export ALI_MIRROR=https://ehehda.mirror.aliyuncs.com #从dev.aliyun.com后台获取你的专属加速器,这个是假的并不能用
docker-machine create --engine-registry-mirror=$ALI_MIRROR --driver generic --generic-ip-address=$ECS_IP aliyun-machine

我在创建的过程中又遇到问题了:
这里写图片描述
是不是很眼熟呢?采用和上面一样的处理方式,只是现在的端口号变成了2376

最后,创建成功后,使用docker-machine ls:

NAME             ACTIVE   DRIVER    STATE     URL                        SWARM   DOCKER        ERRORS
aliyun-machine   -        generic   Running   tcp://47.106.11.111:2376           v18.04.0-ce   

此时,咱们的docker-machine已经成功的管理到了,远程服务器的docker。再执行eval $(docker-machine env aliyun-machine)。即可用本地的docker远程操作阿里云ECS上的docker镜像了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值