win10系统Docker和VMware WorkStation共存,远程工具连接Docker
摘要: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

- 阿里云镜像提供的版本跟官方的不一致,更新比较慢:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
- 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命令列出来的数据。

- 暂停并且卸载NAME为dev的machine实例。此处的dev每个人都不同,可能是default或其它,具体看docker-machine ls命令列出来的数据。
- docker-machine create --driver=vmwareworkstation dev
- 创建一个名称为dev的machine实例。

- 创建一个名称为dev的machine实例。
- docker-machine ls
- 查看创建的实例(URL的ip可以使用远程机登陆使用docker):

- 查看创建的实例(URL的ip可以使用远程机登陆使用docker):
- docker-machine ls 检查是否有machine实例,如果有,请自行考虑是否卸载它。
- 启用实例: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

- 使用如下命令进入tomcat镜像:docker exec -it 容器id /bin/bash
备注:在腾讯云服务器安装docker,运行后,可以使用 ”curl http://ip:端口“进行访问,有内容输出表示成功,ip可以是容器IP和本机IP(客户机访问云服务器运行的容器,使用公有IP和外围访问端口)。

win10系统Docker和VMware WorkStation共存,远程工具连接Docker的更多相关文章
- Kubernetes 远程工具连接k8s集群
Kubernetes 远程工具连接k8s集群 1.将Master的kubectl文件复制到Node内 scp k8s/kubernetes/server/bin/kubectl root@192.16 ...
- 在windows系统上安装VMware Workstation虚拟机,然后在虚拟机VMware Workstation上安装linux系统,在linux系统安装xshell的服务端,在windows系统上安装xshell。用windows系统上的xshell连接到linux
第一步:安装xshell: 去百度 xshell ,然后安装一下就可以了.就是普通的软件安装,在这里不做过多的接收. 第二步:安装虚拟机VMware Workstation 百度安装,不做过介绍 ...
- VMWare Workstation:局域网PC连接虚拟机里的远程桌面或端口
很简单.做一个理解: 1.NAT 2.VM的网卡,相当于路由器 环境: 物理路由器:192.168.0.1 PC1(win):192.168.0.2 PC2(win):192.168.0.3 PC2里 ...
- 通过VNC Viewer使用VMware虚拟机的远程桌面连接
本文转自:http://www.14blog.com/archives/185 要在VMware虚拟机中使用远程桌面连接?方法有两个:一种是在虚拟机中做“端口映射”,当然,这个稍显复杂(虚拟机端口映射 ...
- 使用第三方工具连接docker数据库
一.背景 为了把测试环境迁移至docker上,我在centos7上安装了docker,具体安装方法可参考<CentOS7下安装docker>本文不再论述.有些同学可能会有疑问,为什么要 ...
- 使用Win自带的远程工具连接Linux
网上教程一大堆,我这边只简单记录一下,主要是黑屏问题,和剪贴板问题.Win连接Linux,一般都是使用的xrdp, 如果是使用的旧版本的Ubuntu,建议先装一下xfce桌面,gnome桌面一般连不起 ...
- 解决Ubuntu系统下的VMware Workstation无法打开虚拟网络编辑器界面的问题
本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=630 操作环境: Ubuntu 17 VMware 14 pro for Linux 问题描述: 我在Ubuntu ...
- Docker学习-VMware Workstation 本地多台虚拟机互通,主机网络互通,解决name or service not known
NAT网络通用配置 测试连接 主机到虚拟机 虚拟机到虚拟机 ,虚拟机到外网 CentOS,提示name or service not known 设置DNS服务器 vi /etc/resolv.co ...
- VMware Workstation 下进行 桥连接
大家都知道进行桥连接的时候,需要我们的宿主机与虚拟机同处于一个网络段, 使得mask与默认网关相同即可进行连接 ; 本地的IP .掩码 . 网关: 虚拟机的Ip 掩码,网关: // 当然这里的DNS ...
随机推荐
- Linux shell 批量验证端口连通性
工作中会遇到验证到某某服务器端口是否连通,如果IP或端口多时,用shell还是很省时省力的,看下面的脚本: #!/bin/bash # #database check #set -o nounset ...
- java Class类使用
1.forName public static Class<?> forName(String className) throws ClassNotFoundException 返回与带有 ...
- C++HeartCode
#include <iostream> int main() { int A=43,B=A/2, C=B/2,x,y,i=B,j=-C;for(y=0;y<B;j=(++y)-(C+ ...
- unittest----skip(跳过用例)
我们在执行测试用例时,有时有些用例时不需要执行的,这时就需要用到unittest给我们提供的跳过用例的方法 @unittest.skip(reason):强制跳过,不需要判断条件.reason是跳过原 ...
- LeetCode--128--最长连续序列(python)
给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 示例: 输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, ...
- Task4.用PyTorch实现多层网络
1.引入模块,读取数据 2.构建计算图(构建网络模型) 3.损失函数与优化器 4.开始训练模型 5.对训练的模型预测结果进行评估 import torch.nn.functional as F im ...
- Ajax中浏览器的缓存问题解决方法
我们在做项目中,一般提交请求都会通过ajax来提交,但是测试的时候发现,每次提交后得到的数据都是一样的,调试可以排除后台代码的问题,所以问题肯定是出在前台 每次清除缓存后,就会得到一个新的数据,所以归 ...
- [CF1177B]Digits Sequence (Hard Edition)题解
一个简单的模拟,首先先计算当前是几位数,然后根据几位数推断当前的数是什么,然后求出该位即可 #include <cstdio> int main(){ long long k; scanf ...
- <知识整理>2019清北学堂提高储备D4
今天主要讲一下数学的知识. 一.进制转换: 十进制到k进制:短除法:顺除至0,逆序取余. k进制转十进制:乘权相加. 常见进制:四进制(对应2位二进制).八进制(对应3位二进制).十六进制(对应4位二 ...
- Angular项目 Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed.报错
在angular的项目里,一不小心就会出现这个错误[ngRepeat:dupes] ,这个问题是因为内容有重复引起的解决起来挺简单 在对应的ng-repeat指令中增加track by $index, ...

