Docker Machine:远程docker主机的构建

docker compose、docker machine、docker swarm 这三个项目都是docker的原生支持,号称docker三剑客

docker machine介绍:

Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker。我们还可以通过 docker-machine 命令来管理这些虚拟机和 Docker。

Docker Machine 项目基于 Go 语言实现,目前在 Github 上的维护地址: https://github.com/docker/machine/



提到 Docker 我们必须要知道它包含了三部分内容:

  1. Docker daemon
  2. 一套与 Docker daemon 交互的 REST API
  3. 一个命令行客户端

在这里插入图片描述

在这里插入图片描述


1.安装docker-machine:

在这里插入图片描述

2.生成免密:

远程连接使用ssh协议,所以要免密

在这里插入图片描述
在这里插入图片描述

3.真机联网:拉取index.html文件,用于远程安装

wget https://get.docker.com/

拉取后修改三处:版本和yum源
在这里插入图片描述

在这里插入图片描述

完成后将其放在apache默认发布目录下,作为默认发布文件,让远程主机自动读取
在这里插入图片描述

4.在远程主机修改配置

vim /etc/yum.conf    #yum仓库的全局配置,将gpgcheck默认改为0

在这里插入图片描述

vim /etc/os-release   #更改系统标示【该index.html文件中不读取rhel】

在这里插入图片描述

5.安装成功

在这里插入图片描述

在这里插入图片描述

使用docker-machine ls   来查看machine的状态。

在这里插入图片描述


如果安装失败:

Error creating machine: Error running provisioning: something went wrong running an SSH command
#连接问题

Error creating machine: Error detecting OS: Too many retries waiting for SSH to be available. Last error: Maximum number of retries (60) exceeded
#错误信息没删除

1.在docker-machine中删除已生成的machinexinxi
2.删除生成的yum.repo文件
3.排错【ssh问题,通信问题,火墙问题等】
4.再次尝试创建machine
在这里插入图片描述


远程管理:

docker-machine env server4   #查看远程连接需要的环境
docker -H tcp://172.25.12.4:2376 ps   #尝试远程连接 【会失败】
eval $(docker-machine env server4)  #只远程切换到目标docker环境

用过区别不同主机上已经加载的镜像或者容器,来区别不同的docker环境

在这里插入图片描述

在这里插入图片描述

上面这种连接很明显并不合适,因为它不能直观显示是否连接到了远程docker主机。

方式二:
下载以下三个文件到指定目录
docker-machine.bash
docker-machine-prompt.bash
docker-machine-wrapper.bash
在这里插入图片描述

vim ~/.bashrc   #添加下面命令
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '
然后:
source ~/.bashrc   #刷新,使生效

如果出现-bash: _docker_machine_ps1: command not found 【原因是没有提前使上面三个文件生效】
那么更改~/.bashrc如下图,再source

在这里插入图片描述

切换测试:很明显,界面有提示切换到了server4!
在这里插入图片描述


docker-machine 子命令:

docker-machine upgrade server2 更新docker版本
docker-machine config server2 查看machine配置
docker-machine scp 可以在machine中复制文件
docker-machine ssh 连接machine
docker-machine rm 删除machine


                  大大的小小阳
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值