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 machine介绍:
  • 1.安装docker-machine:
  • 2.生成免密:
  • 3.真机联网:拉取index.html文件,用于远程安装
  • 4.在远程主机修改配置
  • 5.安装成功
  • 如果安装失败:
  • 远程管理:
  • docker-machine 子命令:


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

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

Docker Machine:远程docker主机的构建_第1张图片

Docker Machine:远程docker主机的构建_第2张图片


1.安装docker-machine:

Docker Machine:远程docker主机的构建_第3张图片

2.生成免密:

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

Docker Machine:远程docker主机的构建_第4张图片
Docker Machine:远程docker主机的构建_第5张图片

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

wget https://get.docker.com/

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

在这里插入图片描述

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

4.在远程主机修改配置

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

Docker Machine:远程docker主机的构建_第6张图片

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

Docker Machine:远程docker主机的构建_第7张图片

5.安装成功

Docker Machine:远程docker主机的构建_第8张图片

在这里插入图片描述

使用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 Machine:远程docker主机的构建_第9张图片

在这里插入图片描述

上面这种连接很明显并不合适,因为它不能直观显示是否连接到了远程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

Docker Machine:远程docker主机的构建_第10张图片

切换测试:很明显,界面有提示切换到了server4!
Docker Machine:远程docker主机的构建_第11张图片


docker-machine 子命令:

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


                  大大的小小阳

你可能感兴趣的:(docker)