一、docker-machine
docker-machine 安装,在最新版docker engine版本中,Docker Desktop for Mac and Docker Desktop for Windows,都包含了docker-machine组件。不必单独安装,当然这只是针对最新版的windows10系统,对应以前的系统版本,使用Docker Toolbox
使用 DOCKER DESKTOP FOR WINDOWS
安装条件:Docker Desktop for Windows,Hyper-V 驱动安装
使用 DOCKER DESKTOP FOR MAC
安装条件:安装最新的virtualbox
使用machine运行容器:
1.创建docker虚拟机器
2.切换环境到新的虚拟机器
3.使用docker客户端进行创建管理容器
docker-machine创建虚拟机,并在虚拟机上安装好docker engine环境,通过参数传递的方式:--virtualbox-boot2docker-url指定本地定制linux系统boot2docker.iso,没有的话,会从github下载,国内下载比较慢,费时。-d 表示虚拟机引擎,mac建议使用virtualbox,没有默认的虚拟机,就创建一个default
docker-machine create default -d virtualbox --virtualbox-boot2docker-url=/Users/linlong/.docker/machine/cache/boot2docker.iso
说明:该命令会下载轻量级linux系统boot2docker(Tiny Core Linux45M大小,启动飞快),该系统中已经安装好docker daemon程序,此时会调用virtualbox创建虚拟机。如果想自定义docker daemon程序,可以修改系统的/var/lib/boot2docker/profile文件,然后重启docker daemon。如:
docker-machine ssh default -t sudo vi /var/lib/boot2docker/profile
切换当前正在使用的虚拟机
使用docker-machine env 命令,在mac下输出:
$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://172.16.62.130:2376"
export DOCKER_CERT_PATH="/Users//.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval "$(docker-machine env default)"
然后使用 eval "$(docker-machine env default)" 命名进行切换,使用docker-machine ls列表中虚拟机名称带有“*”的为当前正在使用的虚拟机
在windows下输出:
λ docker-machine env default
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\Administrator\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your shell:
REM @FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i
然后使用 REM @FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i 命名进行切换
进入machine内部:
使用docker-machine ssh default进入shell环境
退出default虚拟机环境使用ctrl+D
帮助文档:https://segmentfault.com/a/1190000017001848
启用镜像加速服务:
阿里镜像加速器:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://l9lat09q.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
在docker-machine创建的主机中,使用 /etc/init.d/docker restart
阿里镜像服务:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
启用阿里云镜像加速:
docker-machine create test -d virtualbox --engine-registry-mirror=https://l9lat09q.mirror.aliyuncs.com
非常快
文档地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
docker-machine命名列表:
docker-machine默认操作的是default主机,因此可以在操作主机时,可以不带主机名称。
docker-machine ip default :获取docker主机ip
docker-machine stop default : 停止docker主机
docker-machine start default : 启用docker主机
docker-machine rm default :删除docker主机
docker-machine env default : 获取主机环境变量
docker-machine inspect default :获取主机详细信息
docker-machine status default :获取主机运行状态
docker-machine ls :列出所有主机
docker-machine ssh default :进入docker主机内
查看更多使用帮助命令:docker-machine --help