Windows 10 Docker Machine 部署 CentOS7 主机

1. 安装 Docker Machine

若是安装了Git,可以使用Git bash执行下面命令:

$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  mkdir -p "$HOME/bin" &&
  curl -L $base/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" &&
  chmod +x "$HOME/bin/docker-machine.exe"

或是链接外网的环境很好,从网页直接下载:

https://github.com/docker/machine/releases

 本人上面都试过没通过,只能求助朋友,下载了。

以管理员身份运行Powershell,

PS C:\WINDOWS\system32> cd
PS C:\Users\ach> mkdir -p bin
PS C:\Users\ach> cd .\bin\
PS C:\Users\ach\bin> pwd

Path
----
C:\Users\ach\bin

PS C:\Users\ach\bin>

把下载的文件拷贝到 C:\Users\ach\bin,并重命名为:docker-machine.exe

把 C:\Users\ach\bin,添加到环境变量PATH路径中

Windows 10 Docker Machine 部署 CentOS7 主机_第1张图片

PS C:\Users\ach> docker-machine.exe version
docker-machine.exe version 0.16.2, build bd45ab13
PS C:\Users\ach>

这样就装完成了。

2. CentOS配置 SSH 免密码登录

CentOS 使用的是7 Core 版本 IP地址:192.168.1.100

网上大多使用scp拷贝到目标端,并重命名为 authorized_keys,并调整权限;老是记不清权限设置成什么,通常采用下面方法:

在CentOS本机,先生成rsa秘钥对,

Windows 10 Docker Machine 部署 CentOS7 主机_第2张图片

再使用ssh-copy-id ,配置自己ssh自己的免密码登录,即验证了ssh免密码登录,还自动生成了authorized_keys文件,位置权限都不需要关心。

Windows 10 Docker Machine 部署 CentOS7 主机_第3张图片

验证免密码登录

 3. 配置 Windows 免密码到 CentOS

安装Openssh,生成rsa秘钥

请参照:后期补充链接地址

 

秘钥拷贝到 CentOS

登录到Ubuntu ,把秘钥追加到authorized_keys

exit,并验证免密码登录

Windows 10 Docker Machine 部署 CentOS7 主机_第4张图片

免密码登录成功。

4. 使用docker-machine远程配置CentOS的docker运行环境

为了减少异常,使用管理员权限运行powershell,由于docker-machine通过ssh远程执行命令时,需要用户有sudo权限,并且需要免密码

Windows 10 Docker Machine 部署 CentOS7 主机_第5张图片

配置防火墙

Windows 10 Docker Machine 部署 CentOS7 主机_第6张图片

sudo firewall-cmd --zone=public --add-port=2376/tcp --permanent

sudo firewall-cmd --reload

sudo firewall-cmd --zone=public --query-port=2376/tcp

Windows 10 Docker Machine 部署 CentOS7 主机_第7张图片

链接Linux服务器一般使用 generic 驱动:

docker-machine.exe create --driver generic --generic-ip-address=192.168.1.100 --generic-ssh-key=.ssh/id_rsa --generic-ssh-user=wntime Machine-100

由于是在powershell环境,--generic-ssh-key使用绝对路径会出错,建议cd到主目录,使用相对路径,主要参数意义如下:

Windows 10 Docker Machine 部署 CentOS7 主机_第8张图片

上面的方式docker-machine 会自动安装 docker

   Windows 10 Docker Machine 部署 CentOS7 主机_第9张图片

若是网路环境好的话可以安装完成,我这里一直失败,只能手动安装docker,然后使用docker-machine连接到Ubuntu

可以参照:https://docs.docker.com/install/linux/docker-ce/centos/,不再说明。

sudo yum remove docker docker-common docker-selinux docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

//使用官方推荐源{不推荐}
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

//使用阿里云的源{推荐}
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
    
//软件源升级
sudo yum  update
    
//安装docker
sudo yum -y install docker-ce

//可以指定版本安装docker:
sudo yum -y install docker-ce-[VERSION]
    
//查看支持的docker版本
yum list docker-ce.x86_64 --showduplicates | sort -r

配置好docker国内镜像,再次执行

docker-machine.exe --debug create --driver generic --generic-ip-address=192.168.1.100 --generic-ssh-key=.ssh/id_rsa --generic-ssh-user=wntime Machine-100

Windows 10 Docker Machine 部署 CentOS7 主机_第10张图片

docker 无法识别安装

Windows 10 Docker Machine 部署 CentOS7 主机_第11张图片

手动安装docker,并配置开机启动

Windows 10 Docker Machine 部署 CentOS7 主机_第12张图片

再次执行

docker-machine.exe --debug create --driver generic --generic-ip-address=192.168.1.100 --generic-ssh-key=.ssh/id_rsa --generic-ssh-user=wntime Machine-100

Windows 10 Docker Machine 部署 CentOS7 主机_第13张图片

然后是等待安装完成,并检查状态

Windows 10 Docker Machine 部署 CentOS7 主机_第14张图片

测试Docker主机

Windows 10 Docker Machine 部署 CentOS7 主机_第15张图片

运行Docker Hello-World

Windows 10 Docker Machine 部署 CentOS7 主机_第16张图片

至此,Docker Machine 可以连接 CentOS7 Docker主机了。

你可能感兴趣的:(Docker)