Docker Machine
负责在多种平台上快速安装 Docker 环境
Docker Machine 项目基于 Go 语言实现目前Github 上的维护地址: https://github.com/docker/machine/
docker machine的实践:
创建machine:
machine指的是docker daemon主机,其实就是在host上安装和部署docker。
创建流程:
- ssh免密登陆远程主机
- 安装docker软件包
- 复制证书
- 配置docker daemon
- 启动docker
示例一:(server13已安装dicker-ce)
1.安装docker-machine命令
2.创建machine要求免密登陆远程主机
ssh-keygen
cd /root/.ssh
ssh-copy-id -i id_rsa.pub root@172.25.11.13
3.创建主机:(离线安装需要在目标主机提前安装好docker软件包)
[root@server11 ~]# docker-machine create --driver generic --generic-ip-address=172.25.11.13 server13
4.此时可以看到在server13端已经打开2376端口
5.docker主机上生成的配置文件:`从下述配置文件中可以看出,docker daemon启用了TLS验证功能,docker-machine已经为其生成好了所需的证书文件。
6.查看+管理主机
管理machine:
连接远程docker主机时需要执行以下命令,但不方便:
docker docker-machine config server12
ps
docker-machine env server13
显示访问server13所需的环境变量:
根据提示执行:eval $(docker-machine env server13)
,可以直接切入目标主机。
!!想使提示符更加的人性化,需安装bash脚本
编辑~/.bashrc,添加PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '
退出重连接使bash生效:
示例二:(server13未安装docker-ce)
172.25.11.12主机(真机:作为安装源)
已经安装好httpd
mkdir /var/www/html/docker-ce
cd /var/www/html
wget https://get.docker.com 下载下来的文件就是用来安装docker-ce
修改第412、474行
yum源:
[root@server12 docker-ce]# cat /etc/yum.repos.d/docker.repo
[docker]
name=docker-ce
baseurl=https://172.25.11.12/docker-ce
gpgcheck=0
构建好本地仓库源:/var/www/html/docker-ce在默认发布目录下
- 建立免密登陆
- 创建主机的时候直接安装docker-ce
docker-machine create --driver generic --engine-install-url “http://172.25.11.12/get-docker.sh” --generic-ip-address 172.25.11.13 server13
docker-machine ls查看
可以直接进入目标主机 - waiting…
docker-machine 子命令:
docker-machine upgrade server2 | 更新docker版本 |
---|---|
docker-machine config server2 | 查看machine配置 |
docker-machine scp | 可以在machine中复制文件 |
docker-machine ssh | 连接machine |
docker-machine rm | 删除machine |