• CentOS 7安装 Docker-machine及日常使用


    CentOS 7.6.1810 安装 Docker-machine 0.16.0 

    其它系统安装说明请访问:官方文档

    Centos 7系统请使用如下代码:

    $ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
      curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
    chmod +x /tmp/docker-machine && sudo install /tmp/docker-machine /usr/bin/docker-machine

    Check the installation by displaying the Machine version:

    $ docker-machine version
    docker-machine version 0.16.0, build 9371605

    下载 completion script:docker-machine-prompt.bash      docker-machine-wrapper.bash    docker-machine.bash 将其放在/etc/bash_completion.d目录下

    bash文件下载地址

    编辑 /root/.bashrc文件如下

    vim /root/.bashrc
    PS1='[u@h W$(__docker_machine_ps1)]$ '

    若出现如下错误

    请在 /root/.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

     

    并重新source下bashrc

    source /root/.bashrc

    安装完成。

    通过docker-machine在其它host创建docker,创建 machine 要求能够无密码登录远程主机,所以需要先通过如下命令将 ssh key 拷贝到 192.168.1.206. 可查 官方文档

    ssh-keygen                         #生成密钥,生成位置/root/.ssh/

    ssh-copy-id root@192.168.1.206       #复制公钥至远程目标
    ssh 192.168.1.206		              #远程目标

    vim /etc/ssh/sshd.config       #配置远程主机

    PubkeyAuthentication yes                #打开此行注释

    service sshd restart       #重启ssh服务
    setenfoce 0                #官方并没有提示关闭远程主机的selinux,但是我关闭了
    systemctl stop firewalld         #关闭远程主机的防火墙
    systemctl disable firewalld       #禁止开机启动

    一切准备就绪,执行 docker-machine create 命令创建 docker(此处为计算机名,可以是elk,zabbix,mysql等有意义的名字)

    docker-machine create -d generic --generic-ip-address=192.168.1.234 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root docker  #虚机使用此行
    # docker-machine create --driver generic --generic-ip-address=192.168.1.206 elk  #cloudman ubuntu16.0.4使用

    执行 docker-machine ls查看安装完成的docker

    docker-machine ls

      

    远程到目标主机并查看docker daemon 的具体配置

     

    vim /etc/systemd/system/docker.service.d/10-machine.conf      #针对centos 7.6.1810
    # vim  /etc/systemd/system/docker.service              #针对ubuntu 16.0.4

    1. -H tcp://0.0.0.0:2376 使 docker daemon 接受远程连接。

    2. --tls* 对远程连接启用安全认证和加密。

    查看远程主机docker的env环境

    docker-machine env docker

    eval $(docker-machine env docker)   #通过docker-machine管理192.168.1.234上的docker

    看到命令行提示符已经变了,其原因是我们之前在$HOME/.bashrc 中配置了 PS1='[u@h W$(__docker_machine_ps1)]$ ',用于显示当前 docker host。

    eval $(docker-machine env zabbix)            #切换到 zabbix
    docker-machine upgrade docker zabbix          #批量执行更新 machine 的 docker 到最新版本
    docker-machine config docker               #查看machine 的 docker daemon 配置

    stop/start/restart 是对 machine 的操作系统操作,而 不是 stop/start/restart docker daemon

    docker-machine scp docker:/tmp/a zabbix:/tmp/b    #在不同的host之间拷贝数据

    以上是通过docker-machine远程其它主机安装docker,及一些常用操作

    下面是如何通过docker-machinet删除之前安装docker. 官网文档 

    Remove a machine. This removes the local reference and deletes it on the cloud provider or virtualization management platform.

    $ docker-machine rm --help
    
    Usage: docker-machine rm [OPTIONS] [arg...]
    
    Remove a machine
    
    Description:
       Argument(s) are one or more machine names.
    
    Options:
    
       --force, -f    Remove local configuration even if machine cannot be removed, also implies an automatic yes (`-y`)
       -y        Assumes automatic yes to proceed with remove, without prompting further user confirmation

    Examples

    $ docker-machine ls
    NAME   ACTIVE   URL          STATE     URL                         SWARM   DOCKER   ERRORS
    bar    -        virtualbox   Running   tcp://192.168.99.101:2376           v1.9.1
    baz    -        virtualbox   Running   tcp://192.168.99.103:2376           v1.9.1
    foo    -        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1
    qix    -        virtualbox   Running   tcp://192.168.99.102:2376           v1.9.1
    
    
    $ docker-machine rm baz
    About to remove baz
    Are you sure? (y/n): y
    Successfully removed baz
    
    
    $ docker-machine ls
    NAME   ACTIVE   URL          STATE     URL                         SWARM   DOCKER   ERRORS
    bar    -        virtualbox   Running   tcp://192.168.99.101:2376           v1.9.1
    foo    -        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1
    qix    -        virtualbox   Running   tcp://192.168.99.102:2376           v1.9.1
    
    
    $ docker-machine rm bar qix
    About to remove bar, qix
    Are you sure? (y/n): y
    Successfully removed bar
    Successfully removed qix
    
    
    $ docker-machine ls
    NAME   ACTIVE   URL          STATE     URL                         SWARM   DOCKER   ERRORS
    foo    -        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1
    
    $ docker-machine rm -y foo
    About to remove foo
    Successfully removed foo 
    运动可以增加体力;读书可以增加知识; 自古只有天才的学生,没有天才的老师; 猴子不上树是看不见红屁股的, 人不做事情是看不出能力的。 时间花在那儿,擅长就在那儿。 钱花完了可以再赚,时间花了便一去不复返。
  • 相关阅读:
    JavaScript系列:《JavaScript高级程序设计》,chapter2, 在html中使用JavaScript
    Java系列:JVM指令详解(下)(zz)
    Java系列:JVM指令详解(上)(zz)
    Java系列:关于Java中的桥接方法
    REST: C#调用REST API (zz)
    Activiti系列:为什么Activiti 5.18 的REST的api总是返回404错误
    timeSeries db之:使用Metrics监控应用程序的性能 (zz)
    Java系列:国际化(zz)
    通过数据库方式访问excel 2007及其以后(xlsx)文件的连接字符串
    java系列:《java核心技术 卷1》学习笔记,chapter 11 调试技巧
  • 原文地址:https://www.cnblogs.com/shuter/p/11346135.html
Copyright © 2020-2023  润新知