摘要:win10安装docker进行学习的两种途径:
- Docker for Windows Installer.exe(地址https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe)
- DockerToolbox-19.03.1.exe(需要在docker hub进行注册ID,需要*才能注册成功)
- 阿里云镜像提供的版本跟官方的不一致,更新比较慢:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
- 官方地址:https://docs.docker.com/toolbox/toolbox_install_windows/
- DockerToolbox的安装教程请自行百度。
- 本文讲的是win10系统下Docker for Windows Installer与VMware WorkStation虚拟机的共存问题,因为使用Docker必须开启Hyper-V(控制面板-->程序和功能-->启用或关闭Windows功能),需要系统的虚拟化支持;而使用VM WorkStation则必须关闭Hyper-V,否则无法成功创建虚拟机,在每次安装镜像文件向硬盘写安装文件时会报IO输入错误,造成安装系统崩溃。(Hyper-V和VMware WorkStation都是实现对计算机资源的虚拟化支持)每次Hyper-V的开启/关闭都会重启系统,很耗时间与性能。所以希望直接关闭Hyper-V,寻找另一种途径使用Docker,最终在Docker官方指导文档中找到第三方支持:https://docs.docker.com/machine/drivers
- win10系统Docker和VMware WorkStation共存的办法:
- 下载二进制文件 -- docker-machine-driver-vmwareworkstation.exe,复制到C:\Program Files\Docker\Docker\resources\bin下(docker的安装路径)
- 打开git的git-bash:
- docker-machine ls 检查是否有machine实例,如果有,请自行考虑是否卸载它。
-
docker-machine stop dev && docker-machine rm dev
- 暂停并且卸载NAME为dev的machine实例。此处的dev每个人都不同,可能是default或其它,具体看docker-machine ls命令列出来的数据。
-
docker-machine create --driver=vmwareworkstation dev
- 创建一个名称为dev的machine实例。
- docker-machine ls
- 查看创建的实例(URL的ip可以使用远程机登陆使用docker):
- 启用实例:docker-machine start dev
- 停用实例:docker-machine stop dev
- 启用docker: docker-machine ssh dev(docker-machine ssh 实例名)(实例必须是开启状态)
-
连接到machine实例之后,你可以使用docker命令进行任何受支持的操作...
例如docker push,pull等等....
-
- 测试:docker
- docker登录:docker login(在使用docker时,是否登陆没有特别大的影响,只不过是,如果登陆了,就可以向docker hub上push自己的镜像了)
- 实例启动成功后,使用远程连接工具(SecureCRT)连接docker(主机名为实例的IP,用户名为docker,密码为tcuser)
- docker拉取tomcat,并运行:docker run -d -p 8080:8080 tomcat
- 注:前者是外围访问端口:后者是容器内部端口(必须加上外围访问端口,不然浏览器 http://docker本机ip:8080/ 无法访问打开)
如下命令可后台启动tomcat
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; - 外围访问端口可以自定义;容器内部端口必须一致,不然可以启动成功,但无法进行访问,比如tomcat的端口是8080:
- 访问地址:
- 注:前者是外围访问端口:后者是容器内部端口(必须加上外围访问端口,不然浏览器 http://docker本机ip:8080/ 无法访问打开)
- docker容器交互运行,并进入容器查看信息:docker run -itd -p 8080:8080 tomcat
- 使用如下命令进入tomcat镜像:docker exec -it 容器id /bin/bash
备注:在腾讯云服务器安装docker,运行后,可以使用 ”curl http://ip:端口“进行访问,有内容输出表示成功,ip可以是容器IP和本机IP(客户机访问云服务器运行的容器,使用公有IP和外围访问端口)。