当前位置: 首页 > news >正文

docker-machine常用

docker-machine常用

  • 什么是Docker Machine?
    • Docker Machine默认支持的驱动
    • 安装kvm驱动
  • 安装和配置Docker Machine
    • 环境准备
    • node1安装Docker
    • node1安装Docker Machine
    • 为Docker Machine安装自动补全
    • 为Docker Machine准备boot2docker.iso镜像
    • 为node2创建machine主机
  • 管理远程docker主机
  • 常见用法
    • 列出可用的机器
    • 查看主机状态
    • 创建机器
    • 查看机器的ip
    • 启动机器
    • 停止机器
    • 重启机器
    • 强制关闭机器
    • 删除机器
    • 进入机器
    • 复制文件到主机

什么是Docker Machine?

Docker Machine是一个远程管理工具;
Docker Machine帮助我们在远程的主机上安装和配置Docker
Docker Machine帮助我们在远程的虚拟机(VMWare、VirtualBox、KVM等)上安装和配置Docker
项目地址:https://github.com/docker/machine
参考:https://blog.csdn.net/sl963216757/article/details/118344600
image.png


Docker Machine默认支持的驱动

image.png


安装kvm驱动

# 下载docker-machine-driver-kvm
sudo curl -L https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.7.0/docker-machine-driver-kvm -o /usr/local/bin/docker-machine-driver-kvm # 赋予docker-machine-driver-kvm可执行权限
sudo chmod +x /usr/local/bin/docker-machine-driver-kvm

安装和配置Docker Machine


环境准备

各主机之间做好ssh免密

  • node1
  • node2

node1安装Docker

https://blog.csdn.net/omaidb/article/details/121683661

# 安装yum-utils
yum install -y yum-utils# 卸载旧版docker-CE
yum -y remove docker \docker-ce \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine# 添加docker-ce源 https://docs.docker.com/engine/install/centos/
## docker-ce国内源--aliyun
# yum-config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
## docker-ce官方源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 查看repolist中docker-ce仓库是否添加成功
yum repolist# 刷新yum缓存
yum clean all && yum makecache# 安装docker-ce
yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

node1安装Docker Machine

https://github.com/docker/machine

# 下载Docker Machine
curl -L https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine# 赋予可执行权限
chmod +x /tmp/docker-machine# 复制到可执行目录
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine# 查看docker-machine版本
docker-machine version

为Docker Machine安装自动补全

安装来源:https://github.com/docker/machine/tree/master/contrib/completion/bash

  • 安装bash脚本到/etc/bash_completion.d/
# 下载docker-machine-prompt.bash
wget https://raw.githubusercontent.com/docker/machine/master/contrib/completion/bash/docker-machine-prompt.bash -P /etc/profile.d/# 下载docker-machine-wrapper.bash
wget https://raw.githubusercontent.com/docker/machine/master/contrib/completion/bash/docker-machine-wrapper.bash -P /etc/profile.d/# 下载docker-machine.bash
wget https://raw.githubusercontent.com/docker/machine/master/contrib/completion/bash/docker-machine.bash -P /etc/profile.d/

为Docker Machine准备boot2docker.iso镜像

boot2docker.iso项目地址:https://github.com/boot2docker

# 下载boot2docker.iso
wget -c https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso  -P $HOME/.docker/machine/cache/

image.png


为node2创建machine主机

node1上执行创建node2_machine主机的命令

# 创建machine主机
## --driver:要在目标主机创建docker的驱动程序
## --generic-ip-address:目标地址
## <server2>:创建的主机的名称
# docker-machine create 主机名
docker-machine create --driver generic --generic-ip-address 172.25.2.2 server2

管理远程docker主机

# 加载docker-machine变量
## 会加载docker的远程主机变量,用于管理远程docker
docker-machine env
docker-machine env 远程docker主机名# 取消docker-machine变量
## 将docker引擎指向本地docker
docker-machine env -u# 查看当前指向的docker引擎
echo $DOCKER_HOST
## 回显
tcp://203.0.113.81:2376

常见用法

https://www.runoob.com/docker/docker-machine.html

参数解释
config查看当前激活状态 Docker 主机的连接信息
docker-machine config
create创建 Docker 主机
env显示连接到某个主机需要的环境变量
docker-machine env
inspect以 json 格式输出指定Docker的详细信息
docker-machine inspect
ip获取指定 Docker 主机的地址
示例: 查看主机的IP
docker-machine ip
kill直接杀死指定的 Docker 主机
ls列出所有的管理主机
active获取当前活动的 Docker Machine 主机
示例: 显示当前的活动主机
docker-machine active
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 版本
# 重新配置现在主机
docker-machine provision# 为主机重新生成证书
docker-machine regenerate-certs# 升级主机的docker服务到最新版本
docker-machine upgrade # 查看docker-machine版本
docker-machine version

列出可用的机器

# 列出所有可用的机器
docker-machine ls

image.png


查看主机状态

# 查看主机的状态
docker-machine status

创建机器

# 创建一台名为 test 的机器
## --driver:指定用来创建机器的驱动类型,这里是 virtualbox
docker-machine create --driver virtualbox test

查看机器的ip

# 查看机器的ip
docker-machine ip test

image.png


启动机器

# 启动机器
docker-machine start test

image.png


停止机器

# 停止机器
docker-machine stop test

image.png


重启机器

# 重启主机
docker-machine restart vm1

强制关闭机器

# 强制关闭一个主机
docker-machine kill vm1

删除机器

# 删除主机
docker-machine rm vm1

进入机器

# # 以SSH的方式连接到主机上
docker-machine ssh vm1

复制文件到主机


# 从本地主机复制文件到远程 Docker Machine 主机
docker-machine scp <本地文件路径> <远程主机名称>:<目标路径># 从远程 Docker Machine 主机复制文件到本地主机
docker-machine scp <远程主机名称>:<远程文件路径> <本地目标路径>
http://www.lryc.cn/news/195118.html

相关文章:

  • 【Redis】Java客户端使用list命令
  • ubuntu下yolov6 tensorrt模型部署
  • k8s查看当前命名空间下所有运行的 pod 对应的镜像
  • 傅里叶变换和其图像处理中的应用
  • 风电厂VR情景式三维模拟实训系统让教育更加贴近实际
  • 竞赛 深度学习+python+opencv实现动物识别 - 图像识别
  • LeetCode 2562. 找出数组的串联值:模拟(双指针)
  • 【mac】常用命令01
  • android 13.0 添加系统字体并且设置为默认字体
  • 平面设计师要会3D吗 优漫动游
  • 【LeetCode热题100】--105.从前序与中序遍历序列构造二叉树
  • 缓存设计的创新之旅:架构的灵魂之一
  • Unnatural Instructions: Tuning Language Models with (Almost) No Human Labor
  • uniapp中全局页面挂载组件(H5)
  • 设计模式(1)-设计模式前置基础知识
  • 【05】基础知识:React组件实例三大核心属性 - props
  • JOSEF约瑟 漏电继电器 JD1-200 工作电压:380V 孔径:45mm 50~500mA
  • [题] 差分矩阵 #差分
  • Studio One6.5最新版本新增了对Linux的支持
  • 大模型引发“暴力计算”,巨头加速推进液冷“降温”
  • git log 美化配置
  • Spark 的主要组件及任务分工
  • Apache Spark 中的 RDD是什么
  • idea自动封装方法
  • js正则表达式
  • 服务安全-应用协议rsync未授权ssh漏洞复现
  • [环境搭建]OpenHarmony开发环境搭建
  • [牛客习题]“幸运的袋子”
  • 安科瑞预付费系统在某大型连锁农贸市场的设计应用
  • Spring Boot Bean 注入的常用方式教程