tyxiayu 发表于 2019-2-20 08:26:21

Docker三剑客之docker

  Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker。我们还可以通过 docker-machine 命令来管理这些虚拟机和 Docker。
http://i2.运维网.com/images/blog/201812/27/b2814a93d65d72b090a6c3af15e4a682.png
Docker -Machine支持在不同环境下安装配置docker host,包括:
1.常规Linux操作系统;
2.虚拟化平台-VirtualBox,VMware,Hyper-V
3.Openstack
4.公有云-Amazon Web Services,Microsoft Azure,Google Compute Engine,Digital Ocean等
  环境介绍:




主机
ip地址
角色




Centos7
192.168.70.128
docker-machine


Centos7
192.168.70.129
install-node1


Centos7
192.168.70.132
install-node2


  docker-machine 安装官方https://docs.docker.com/machine/install-machine/#install-machine-directly
  1、下载docker-machine

  # curl -L https://github.com/docker/machine/releases/download/v0.16.0/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine

http://i2.运维网.com/images/blog/201812/27/d729886b8549bfaf30fe219ee8d4082a.png
2、添加执行权限,并复制到bin目录,作为全局命令

  # chmod +x /tmp/docker-machine
# cp /tmp/docker-machine /usr/local/bin/docker-machine

  3、查看版本

  # docker-machine -version
docker-machine version 0.16.0, build 702c267f

  4、安装命令补全工具

  # vim docker-machine.sh


#!/bin/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
  # chmod +x docker-machine.sh

http://i2.运维网.com/images/blog/201812/27/c999896b8fffad192e72bd933d069765.png
  执行脚本,返回如下信息。

  # ./docker-machine.sh


--2018-12-27 20:17:36--https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/bash/docker-machine-prompt.bash
正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.72.133
正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|151.101.72.133|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1469 (1.4K)
正在保存至: “/etc/bash_completion.d/docker-machine-prompt.bash”
100%[==========================================================================>] 1,469       --.-K/s 用时 0s      
2018-12-27 20:17:40 (190 MB/s) - 已保存 “/etc/bash_completion.d/docker-machine-prompt.bash” )
--2018-12-27 20:17:40--https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/bash/docker-machine-wrapper.bash
正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.72.133
正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|151.101.72.133|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1525 (1.5K)
正在保存至: “/etc/bash_completion.d/docker-machine-wrapper.bash”
100%[==========================================================================>] 1,525       --.-K/s 用时 0s      
2018-12-27 20:17:44 (179 MB/s) - 已保存 “/etc/bash_completion.d/docker-machine-wrapper.bash” )
--2018-12-27 20:17:44--https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/bash/docker-machine.bash
正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.72.133
正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|151.101.72.133|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:12211 (12K)
正在保存至: “/etc/bash_completion.d/docker-machine.bash”
100%[==========================================================================>] 12,211      --.-K/s 用时 0.002s
2018-12-27 20:17:47 (5.12 MB/s) - 已保存 “/etc/bash_completion.d/docker-machine.bash” )
  5、添加环境变量

  # vim ~/.bashrc         #末行添加如下


source /etc/bash_completion.d/docker-machine-wrapper.bash
source /etc/bash_completion.d/docker-machine-prompt.bash
source /etc/bash_completion.d/docker-machine.bash
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '
  # source ~/.bashrc

  6、设置ssh秘钥,免秘钥登陆

  # ssh-keygen -t rsa

http://i2.运维网.com/images/blog/201812/27/7cbd7740c604fffeedc9bc37ccf5a2fc.png
  7、分发秘钥

  # ssh-copy-id root@192.168.70.129
主机132如法炮制分发秘钥

http://i2.运维网.com/images/blog/201812/27/dadf6beebfd838347cd2dd0a332e3e7b.png
  8、免密代理

  # ssh-agent bash
# ssh-add
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)

  9、测试免密

  # ssh root@192.168.70.129   #无需输入密码即可跳转
Last login: Thu Dec 27 20:01:17 2018 from 192.168.70.1
# exit
登出
Connection to 192.168.70.129 closed.

  10、开始创建docker节点主机

  # docker-machine ls   #可以看到我们没有任何一台 被管理的主机
NAME   ACTIVE   DRIVER   STATE   URL   SWARM   DOCKER   ERRORS


  # docker-machine create --driver generic --generic-ip-address=192.168.70.132 docker2

http://i2.运维网.com/images/blog/201812/27/8d3377345198fbed5b34ee7dcdb3cc4a.png
http://i2.运维网.com/images/blog/201812/27/f71a135b9dbb4bc867305465ff1c9c78.png
  这样我们就通过docker-machine创建好了我们的docker主机了,以下是一些常用命令。

  docker-machine的一些命令操作
active 查看当前激活状态的docker主机
config 查看到激活状态docker主机的连接信息
create 创建一个docker主机
evn   显示连接到docker主机的详细信息
inspect以json格式输出指定docker主机的详细信息
ip 获取指定docker主机地址
kill 直接杀死指定docker主机
ls 列出所有管理主机
regenerate-certs 为某个主机重新生成TLS认证信息
restart 重启指定docker主机
rm删除某台docker主机,对应虚拟机会被删除
scp 在docker知己知己和docker主机和本地直接通过scp来远程复制文件
ssh 通过ssh连接到主机上,执行命令
start 启动一个指定docker主机。如果对象是虚拟机,该虚拟机会被启动
status 获取指定docker主机状态
stop 停止一个docker主机
upgrade 将指定主机docker版本更新到最新
url 获取指定docker主机的监听url
help 获取帮助




页: [1]
查看完整版本: Docker三剑客之docker