摘要: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
  1. 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自己的镜像了) 
  2. 实例启动成功后,使用远程连接工具(SecureCRT)连接docker(主机名为实例的IP,用户名为docker,密码为tcuser)
  3. docker拉取tomcat,并运行:docker run -d -p 8080:8080 tomcat
    • 注:前者是外围访问端口:后者是容器内部端口(必须加上外围访问端口,不然浏览器 http://docker本机ip:8080/  无法访问打开)
        如下命令可后台启动tomcat
        -d: 后台运行容器,并返回容器ID;
        -i: 以交互模式运行容器,通常与 -t 同时使用;
        -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    • 外围访问端口可以自定义;容器内部端口必须一致,不然可以启动成功,但无法进行访问,比如tomcat的端口是8080:
    • 访问地址:
  4. docker容器交互运行,并进入容器查看信息:docker run -itd -p 8080:8080 tomcat
    • 使用如下命令进入tomcat镜像:docker exec -it 容器id /bin/bash

备注:在腾讯云服务器安装docker,运行后,可以使用 ”curl http://ip:端口“进行访问,有内容输出表示成功,ip可以是容器IP和本机IP(客户机访问云服务器运行的容器,使用公有IP和外围访问端口)。

win10系统Docker和VMware WorkStation共存,远程工具连接Docker的更多相关文章

  1. Kubernetes 远程工具连接k8s集群

    Kubernetes 远程工具连接k8s集群 1.将Master的kubectl文件复制到Node内 scp k8s/kubernetes/server/bin/kubectl root@192.16 ...

  2. 在windows系统上安装VMware Workstation虚拟机,然后在虚拟机VMware Workstation上安装linux系统,在linux系统安装xshell的服务端,在windows系统上安装xshell。用windows系统上的xshell连接到linux

    第一步:安装xshell: 去百度   xshell ,然后安装一下就可以了.就是普通的软件安装,在这里不做过多的接收. 第二步:安装虚拟机VMware Workstation 百度安装,不做过介绍 ...

  3. VMWare Workstation:局域网PC连接虚拟机里的远程桌面或端口

    很简单.做一个理解: 1.NAT 2.VM的网卡,相当于路由器 环境: 物理路由器:192.168.0.1 PC1(win):192.168.0.2 PC2(win):192.168.0.3 PC2里 ...

  4. 通过VNC Viewer使用VMware虚拟机的远程桌面连接

    本文转自:http://www.14blog.com/archives/185 要在VMware虚拟机中使用远程桌面连接?方法有两个:一种是在虚拟机中做“端口映射”,当然,这个稍显复杂(虚拟机端口映射 ...

  5. 使用第三方工具连接docker数据库

    一.背景 ​ 为了把测试环境迁移至docker上,我在centos7上安装了docker,具体安装方法可参考<CentOS7下安装docker>本文不再论述.有些同学可能会有疑问,为什么要 ...

  6. 使用Win自带的远程工具连接Linux

    网上教程一大堆,我这边只简单记录一下,主要是黑屏问题,和剪贴板问题.Win连接Linux,一般都是使用的xrdp, 如果是使用的旧版本的Ubuntu,建议先装一下xfce桌面,gnome桌面一般连不起 ...

  7. 解决Ubuntu系统下的VMware Workstation无法打开虚拟网络编辑器界面的问题

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=630 操作环境: Ubuntu 17 VMware 14 pro for Linux 问题描述: 我在Ubuntu ...

  8. Docker学习-VMware Workstation 本地多台虚拟机互通,主机网络互通,解决name or service not known

     NAT网络通用配置 测试连接 主机到虚拟机 虚拟机到虚拟机 ,虚拟机到外网 CentOS,提示name or service not known 设置DNS服务器 vi /etc/resolv.co ...

  9. VMware Workstation 下进行 桥连接

    大家都知道进行桥连接的时候,需要我们的宿主机与虚拟机同处于一个网络段, 使得mask与默认网关相同即可进行连接 ; 本地的IP .掩码 . 网关: 虚拟机的Ip 掩码,网关: // 当然这里的DNS ...

随机推荐

  1. Linux shell 批量验证端口连通性

    工作中会遇到验证到某某服务器端口是否连通,如果IP或端口多时,用shell还是很省时省力的,看下面的脚本: #!/bin/bash # #database check #set -o nounset ...

  2. java Class类使用

    1.forName public static Class<?> forName(String className) throws ClassNotFoundException 返回与带有 ...

  3. 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+ ...

  4. unittest----skip(跳过用例)

    我们在执行测试用例时,有时有些用例时不需要执行的,这时就需要用到unittest给我们提供的跳过用例的方法 @unittest.skip(reason):强制跳过,不需要判断条件.reason是跳过原 ...

  5. LeetCode--128--最长连续序列(python)

    给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 示例: 输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, ...

  6. Task4.用PyTorch实现多层网络

    1.引入模块,读取数据  2.构建计算图(构建网络模型) 3.损失函数与优化器 4.开始训练模型 5.对训练的模型预测结果进行评估 import torch.nn.functional as F im ...

  7. Ajax中浏览器的缓存问题解决方法

    我们在做项目中,一般提交请求都会通过ajax来提交,但是测试的时候发现,每次提交后得到的数据都是一样的,调试可以排除后台代码的问题,所以问题肯定是出在前台 每次清除缓存后,就会得到一个新的数据,所以归 ...

  8. [CF1177B]Digits Sequence (Hard Edition)题解

    一个简单的模拟,首先先计算当前是几位数,然后根据几位数推断当前的数是什么,然后求出该位即可 #include <cstdio> int main(){ long long k; scanf ...

  9. <知识整理>2019清北学堂提高储备D4

    今天主要讲一下数学的知识. 一.进制转换: 十进制到k进制:短除法:顺除至0,逆序取余. k进制转十进制:乘权相加. 常见进制:四进制(对应2位二进制).八进制(对应3位二进制).十六进制(对应4位二 ...

  10. Angular项目 Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed.报错

    在angular的项目里,一不小心就会出现这个错误[ngRepeat:dupes] ,这个问题是因为内容有重复引起的解决起来挺简单 在对应的ng-repeat指令中增加track by $index, ...