docker machine管理
一、docker Machine简介Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker。我们还可以通过 docker-machine 命令来管理这些虚拟机和 Docker。Docker Machine 管理的虚拟主机可以是机上的,也可以是云供应商,如阿里云,腾讯云
一、docker Machine简介
Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker。我们还可以通过 docker-machine 命令来管理这些虚拟机和 Docker。
Docker Machine 管理的虚拟主机可以是机上的,也可以是云供应商,如阿里云,腾讯云,AWS,或 DigitalOcean。
使用 docker-machine 命令,您可以启动,检查,停止和重新启动托管主机,也可以升级 Docker 客户端和守护程序,以及配置 Docker 客户端与您的主机进行通信。
docker Machine为这些环境齐了一个统一的名字:provider 。对于某个特定的provider,docker Machine使用相应的drver安装和配置docker host,如下图所示:
二、环境部署:
1.安装 docker machine
基于Linux环境
base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&
chmod +x /usr/local/bin/docker-machine
基于mac环境
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
基于Windows环境
base=https://github.com/docker/machine/releases/download/v0.16.0 &&
mkdir -p "$HOME/bin" &&
curl -L $base/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" &&
chmod +x "$HOME/bin/docker-machine.exe"
2.查看是否安装成功:
docker-machine version
3.安装bash补全、提示脚本 (由于在国内这种方式会下栽失败)
base=https://raw.githubusercontent.com/docker/machine/v0.16.0
for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash
do
sudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d
done
于是使用github上下载
①登录网址 https://github.com/docker/machine
②找到docker machine
③找到这个文件夹 (由于下载总会出错只能选择进入配置文件 复制)
④执行刷新
source /etc/bash_completion.d/docker-machine-prompt.bash
4.添加shell
若要启用docker-machineshell提示符,添加$(__docker_machine_ps1)敬你的PS1置入~/.bashrc.
vim ~/.bashrc
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '
作用是设置docker-machine的命令提示符,不过要等到部署完其他两个host才能看出来效果。
5.创建无密登录并把秘钥传输到其他几台服务器
ssh-keygen -t rsa
ssh-copy-id -i 192.174.1.35
ssh-copy-id -i 192.174.1.36
6.允许root登录(删除注释)
vim /etc/ssh/sshd_config
systemctl restart sshd (重启服务)
7.启用visiblepw
vim /etc/sudoers
Defaults visiblepw (去除!号)
8.部署host
docker-machine create -d generic --generic-ip-address 192.174.1.35 host1
9.再次查看
两台主机变成
三、管理machine
用docker-machine创建machine的过程简单,非常适合多主机环境。
1. docker-machine env host1显示访问host1需要的所有环境变量
docker-machine env host1
在host1中直接输入命令可以进入host2:
eval $(docker-machine env host2)
2.验证:
[root@localhost ~ [host1]]# docker pull busybox
machine服务器
host主机:
3.退出
[root@localhost ~ [host1]]# docker-machine env -u
四、命令总结
config:查看当前激活状态 Docker 主机的连接信息。
creat:创建 Docker 主机
env:显示连接到某个主机需要的环境变量
inspect: 以 json 格式输出指定Docker的详细信息
ip: 获取指定 Docker 主机的地址
kill: 直接杀死指定的 Docker 主机
ls: 列出所有的管理主机
provision: 重新配置指定主机
regenerate-certs: 为某个主机重新生成 TLS 信息
restart: 重启指定的主机
rm: 删除某台 Docker 主机,对应的虚拟机也会被删除
ssh: 通过 SSH 连接到主机上,执行命令
scp: 在 Docker 主机之间以及 Docker 主机和本地主机之间通过 scp 远程复制数据
mount: 使用 SSHFS 从计算机装载或卸载目录
start: 启动一个指定的 Docker 主机,如果对象是个虚拟机,该虚拟机将被启动
status: 获取指定 Docker 主机的状态(包括:Running、Paused、Saved、Stopped、Stopping、Starting、Error)等
stop: 停止一个指定的 Docker 主机
upgrade: 将一个指定主机的 Docker 版本更新为最新
url: 获取指定 Docker 主机的监听 URL
version: 显示 Docker Machine 的版本或者主机 Docker 版本
help: 显示帮助信息
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)