docker-machine

2021/03/08

2021.10.28

今天发现 docker-machine 已经被官方弃用了…

后续将介绍使用 docker context 调用远程 docker 环境。

部署容器实例到远程机器上


安装

macOS 为例

base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine &&
chmod +x /usr/local/bin/docker-machine

远程主机中的配置

本例中, 远程主机系统为 Ubuntu 20.04LTS ,其 IP 地址是 10.0.2.54 。

添加一个无密码超级用户 shank

echo "shank ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/shank

将本机 ssh 公钥添加到远程用户下

ssh-copy-id shank@10.0.2.54

本地配置

添加刚配置的远程主机,我们将其命名为 ubi

docker-machine create \
  --driver generic \
  --generic-ip-address=10.0.2.54 \
  --generic-ssh-key ~/.ssh/id_rsa \
  --generic-ssh-user shank \
  ubi

连接远程 docker 服务

本地 docker 命令,将执行在远程主机(ubi)上

eval $(docker-machine env ubi)

撤销配置

eval $(docker-machine env -u)

验证

docker-machine active

参考