docker-machine(1) 安装管理docker主机

说明

ubuntu     系统类型

test                       docker、docker-machine管理操作用户

192.168.1.73   docker-machine服务器端

192.168.1.80   docker 客户端

1sudo配置:

执行范围:docker-machine服务器端、docker 客户端

[email protected]:~$ sudo visudo

#追加1行,确保远程ssh执行命令不报错

#sudo: no tty present and no askpass program specified

Defaults   visiblepw

#文件末尾追加 sudo无需密码

test  ALL=(ALL) NOPASSWD: ALL

二、docker-machine服务器端配置

2.1 分发公钥

生成私钥、公钥方法自行google

scp .ssh/authorized_keys 192.168.1.80:./ssh/

2.2 下载安装

curl -L https://github.com/docker/machine/releases/download/v0.9.0-rc2/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine
sudo mv /tmp/docker-machine /usr/local/bin/
sudo chmod a+x /usr/localbin/docker-machine

2.3 创建docker主机

[email protected]:~$ docker-machine create   --driver generic   --generic-ip-address=192.168.1.80   --generic-ssh-key ~/.ssh/id_rsa  --generic-ssh-user=test  80

Running pre-create checks...

Creating machine...

(80) Importing SSH key...

Waiting for machine to be running, this may take a few minutes...

Detecting operating system of created instance...

Waiting for SSH to be available...

Detecting the provisioner...

Provisioning with ubuntu(systemd)...

Installing Docker...

Copying certs to the local machine directory...

Copying certs to the remote machine...

Setting Docker configuration on the remote daemon...

Checking connection to Docker...

Docker is up and running!

To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env 80

docker-machine详细命令参见:https://docs.docker.com/machine/

命令分析:

create  #创建docker主机--driver generic   #驱动类型 generic 支持linux通用服务器,还支持很多种云主机--generic-ip-address=192.168.1.80   #指定主机--generic-ssh-key ~/.ssh/id_rsa     #指定私钥--generic-ssh-user=test             #指定用户80                                  #主机名称

查看已创建docker主机
[email protected]:~$ docker-machine ls
NAME   ACTIVE   DRIVER    STATE     URL                       SWARM   DOCKER        ERRORS
73     *        generic   Running   tcp://192.168.1.73:2376           v17.06.0-ce
80     -        generic   Running   tcp://192.168.1.80:2376           v17.06.0-ce  

远程执行docker命令,创建docker虚拟机

[email protected]:~$ docker-machine ssh 80  docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS               NAMES

691bd1e50cd2        hello-world         "/hello"            2 days ago          Exited (0) 2 days ago                       tender_banach

[email protected]:~$ docker-machine ssh 80  docker run hello-world

[email protected]:~$ docker-machine ssh 80  docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES

68399de0b83b        hello-world         "/hello"            5 seconds ago       Exited (0) 4 seconds ago                       thirsty_bohr
691bd1e50cd2        hello-world         "/hello"            2 days ago          Exited (0) 2 days ago                          tender_banach

也可通过切换环境变量,来实现:

[email protected]:~$ eval $(docker-machine env 80)
[email protected]:~$ docker-machine ls
NAME   ACTIVE   DRIVER    STATE     URL                       SWARM   DOCKER        ERRORS
73     -        generic   Running   tcp://192.168.1.73:2376           v17.06.0-ce
80     *        generic   Running   tcp://192.168.1.80:2376           v17.06.0-ce
[email protected]:~$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
68399de0b83b        hello-world         "/hello"            5 seconds ago       Exited (0) 4 seconds ago                       thirsty_bohr
691bd1e50cd2        hello-world         "/hello"            2 days ago          Exited (0) 2 days ago                          tender_banach
时间: 2024-10-12 19:07:10

docker-machine(1) 安装管理docker主机的相关文章

Docker Machine快速安装Docker环境

什么是Docker Machine? Machine是一个简化安装Docker环境的工具.怎么简化法,例如,在ubuntu安装一个docker环境要按照U这个系统配置教程来装,哪天又换了CentOS系统,又要按照这个系统配置教程装.市场上主流Linux系统版本很多,每次安装岂不有些麻烦.使用Machine工具就简单很多,一两条命令即可在主流Linux系统上安装Docker环境,用户不用考虑什么操作系统. 另一方面,Machine还具备Docker工具管理什么虚拟化技术,Generic驱动默认管理

docker第二天:管理docker镜像与容器(下)

本次介绍常用的镜像与容器的相关管理命令 一.常用的与镜像相关的命令: 1.了解镜像的制作过程 [[email protected] ~]# docker history centos 2.了解镜底层信息 [[email protected] ~]# docker inspect centos 查看某一具体项信息 [[email protected] ~]# docker inspect -f {{.RootFS}} centos 3.删除本地镜像 [[email protected] ~]# d

基于docker registry镜像安装私服docker hub

采用docker registry镜像安装docker私服,通过https://hub.docker.com/_/registry链接搜索registry镜像 1.输入命令:docker pull registry,安装版本最新的registry镜像: 2.需要在docker配置文件中配置insecure-registeries信息,如下图所示.其中daemon.json文件在/etc/docker目录下面,registry镜像安装的机器是192.168.20.34,对应的端口是5000. 重启

3.docker machine 连接 aliyun 远程docker 服务器

1.在aliyun ecs 创建docker 服务器 docker-machine create -d aliyunecs machine-aliyunecs 2.远程连接 docker 获取客户端 从https://github.com/AliyunContainerService/docker-machine-driver-aliyunecs 下载对应操作系统的客户端 将 下载下的文件 重命名 到 /User/local/bin/docker-machine-driver-aliyunecs

用 Docker Machine 创建 Azure 虚拟主机

搭建环境向来是一个重复造轮子的过程,Docker Machine 则把用户搭建 Docker 环境的各种方案汇集在了一起.笔者在<Docker Machine 简介>一文中演示了使用 Docker Machine 在本地的 vSphere 主机中安装 Docker 环境.但是在云计算大爆炸的今天,真正让我们头疼的可能是五花八门的 IaaS 平台!这才是 Docker Machine 真正发挥威力的地方.Docker Machine 把与平台相关的部分封装到了不同的驱动中.只要为某个 IaaS

安装 Docker Machine - 每天5分钟玩转 Docker 容器技术(45)

前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的.但在真正的环境中会有多个 host,容器在这些 host 中启动.运行.停止和销毁,相关容器会通过网络相互通信,无论它们是否位于相同的 host. 对于这样一个 multi-host 环境,我们将如何高效地进行管理呢?我们面临的第一个问题是:为所有的 host 安装和配置 docker. 在前面我们手工安装了第一个 docker host,步骤包括: 安装 https CA 证书 添加 GPG ke

centos7下安装docker(14安装docker machine)

之前我们做的实验都是在一个host上面的,其实在真正的环境中有多个host,容器在这些host上面启动,运行,停止和销毁,相关容器会通过网络相互通信,无论他们是否运行在相同的host上面. 对于这种歌multi-host环境,我们该如何高效的进行管理呢? 第一个问题就是:为所有host安装和配置docker 之前我们手工安装了一个docker host: 1.安装https CA证书 2.添加GPG key 3.添加docker apt源 4.安装docker      对于多主机的环境手工方式

Docker Machine 详解

笔者在<Docker Machine 简介>一文中简单介绍了 Docker Machine 及其基本用法,但是忽略的细节实在是太多了.比如 Docker 与 Docker Machine 的区别?又如当我们执行 docker-machine create 命令时,Docker Machine 都做了哪些重要的事情使得我们可以远程操作 Docker daemon?这样的远程操作安全吗?本文将试图解读这些问题.注:本文的演示环境为 Ubuntu16.04. Docker 与 Docker Mach

Docker Machine 简介

Docker Machine 是什么? Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker.我们还可以通过 docker-machine 命令来管理这些虚拟机和 Docker.下面是来自 Docker Machine 官方文档的一张图,很形象哦! 本文将通过一系列 demo 来展示 Docker Machine 的主要使用场景. 安装 Docker Machin