声明

  • 此文只针对 win7、win10 家庭版等用户操作系统,因为这些系统无法使用 windows 的 Hyper-V 虚拟技术。只能借助于 Virtual Box 虚拟机来使用 docker。

Docker 相关配置

Docker Toolbox 的安装

  • 在确认你只能使用 Virtual Box 的方式安装 docker 后,你需要下载 Docker Toolbox,安装方式参考官方文档。或者你可以直接下载最新的发行版 Docker Toolbox
  • 安装 Docker Toolbox,会帮助你安装 3 个软件 —— Docker Quikstart、Oracle VM VirtualBox、Kitematic。也就是说你不必特意地去安装其中的某一个。

Docker Toolbox 的启动

  • 安装完后,打开 Docker Quikstart 即可,它会帮助你启动 Virtual Box 等相关软件。有时候,可能会遇到错误,可以试试 卸载 VirtualBox、Kitematic 重新安装一遍 Docker Toolbox。

docker 客户端

  • Docker Quikstart 打开之后是一个命令行工具,也是 docker 的客户端,可以通过一些命令操作 docker 服务。

配置共享目录

  • 虽然在 Docker Quikstart 中可以通过 /d/path 的路径访问目录,但是当你启动容器时,目录映射可能出现异常,进入容器后发现映射的目录中的文件都未正常映射。
  • VirtualBox 默认是有一个共享目录的 —— /c/Users/
  • 如果你启动容器时要映射的目录和文件都位于这个目录下,你基本不用做任何调整。如果你把你的代码文件(也就是启动 docker 容器时要映射的目录/文件)放在了其他的盘,比如 d 盘,而它却不在 VirtualBox 配置的共享目录中,此时你需要手动配置一下共享目录。
  • 可以新增共享目录,但是填写配置目录名需要注意:
  • 新增好共享目录后,需要重启,到 Docker Quikstart 中运行命令 docker-machine restart default 即可完成重启。稍后便能再次使用 docker 相关命令。
  • 前面配置的代码目录是 /d/docker/work_code,因此当我们启动容器时的目录映射可以这样写:docker run -it -v /d/docker/work_code/project1:/opt/wwwroot/project1 docker_php /bin/bash
  • 也就是说,我们是通过绝对路径 /d/docker/work_code/project1 的方式来进行宿主机目录的映射的。
  • 此时进入容器查看,目录的映射是正常的,代码文件也都是存在的。
  • 后续的 docker 使用就像普通使用 docker 一样即可。

访问

  • 当 docker 配置完成之后,启动容器,我们可通过浏览器或 postman 作为客户端来访问验证。使用 VirtualBox 方式的 docker 的容器不是通过 127.0.0.1 来访问的,而是要通过访问虚拟机的 ip 来访问。因此,在 Docker Quikstart 中通过 docker-machine ip 来查看你机器上的虚拟机的 ip。然后通过 ip + 端口号 的方式来访问启动的服务。
$ docker-machine.exe ip
192.168.99.100

结语

  • 通过上面的设置,出现问题最主要的原因是共享目录没有设置对。因此只要按照上述“设定共享目录”进行配置,即可正常使用。

win 下 docker 环境配置的更多相关文章

  1. win下jdk7环境变量的配置

    win下jdk7环境变量的配置: 单击计算机(Computer),选择属性(Properties),选择高级系统设置(Advanced systems settings), 选择环境变量(Enviro ...

  2. centos7系统下 docker 环境搭建

    运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...

  3. win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境

    win7环境基础在上一篇win7下docker环境搭建nginx+php-fpm+easyswoole开发环境中已经详细叙述搭建完成 本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实 ...

  4. Java应用在docker环境配置容器健康检查

    在<极速体验docker容器健康>一文已体验了docker容器健康检查功能,今天就来给java应用的容器加入健康检查,使应用的状态随时都可以被监控和查看. 实战环境信息 操作系统:macO ...

  5. 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3

    阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3  Posted on 2016年2月10日 by  学院君 1.Apache 配置 —————————————————– vi / ...

  6. Windows 下 MSYS2 环境配置和 MinGW-w64 C++ 环境配置

    Windows 下 MSYS2 环境配置和 MinGW-w64 C++ 环境配置 1.简介 本文主要是 Windows 下 MSYS2 环境配置和 MinGW-w64 C++编译环境配置方法 2.下载 ...

  7. windows下androidNDK环境配置

    一:什么是NDK? NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和java 应用一起打包成apk.这些工具对开发者的帮助是巨大的. NDK 集成了交叉编译器, ...

  8. win下python环境搭建以及安装pip、django

    1. 安装python并配置 下载安装python,这里我下载的是python2.7,听说2.7比较好用 地址:https://www.python.org/downloads/source/ 记住你 ...

  9. win7下docker环境安装

    最近公司涉及到对docker容器引擎的使用,所以就在网上各种搜索,由于是win7系统,所以在使用上更是麻烦,遇到各种错误就是无法成功启动docker,经过两天的各种尝试下,终于安装成功,在此记录一下使 ...

随机推荐

  1. jenkins用户权限配置 Role-based Authorization Strategy

    插件简介 插件名称 Role-based Authorization Strategy 插件介绍 Role Strategy Plugin插件可以对构建的项目进行授权管理,让不同的用户管理不同的项目, ...

  2. python全栈学习 day02

    pycharm 安装设置: 按照百度百科或者官网介绍下载,安装. 激活步骤 1:改host 2.输入激活信息,注意有效期. python 逻辑运算符://返回的均为bool值 与 and A and ...

  3. JAVA方法中参数到底是值传递还是引用传递

    当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是值传递还是引用传递? 答:是值传递.Java 语言的参数传递只有值传递.当一个实例对象作为参数被传递到方法中时,参 ...

  4. [[FJOI2016]神秘数][主席树]

    明白之后 5min 就写好了-自闭- 这题的题意是问你 \([L,R]\) 区间的数字不能构成的数字的最小值- 首先考虑 如果 \([1,x]\) 可以被表示 那么加入一个 \(a_i\) 显然 \( ...

  5. 巨杉数据库SequoiaDB】巨杉Tech | SequoiaDB 分布式事务实现原理简介

    1 分布式事务背景 随着分布式数据库技术的发展越来越成熟,业内对于分布式数据库的要求也由曾经只用满足解决海量数据的存储和读取这类边缘业务向核心交易业务转变.分布式数据库如果要满足核心账务类交易需求,则 ...

  6. css使用padding-bottom百分比进行提前占位,防止抖动

    页面加载抖动问题 在web开发中,经常会遇到这样一个问题,比如一个宽度百分百,高度自适应的图片,在网速慢的情况下加载过程中会出现抖动的问题(未加载图片前容器的高度为0,图片加载完成后下面的内容会被挤下 ...

  7. AE开发中添加EngineOrDesktop后仍然有错误

    .AO是32位原生组件,一般认为不支持64位系统(道听途说),所以只能在32位环境下进行编译. 在配置管理器中,新建x86后问题解决了

  8. win10专业工作站版密钥|win10专业工作站版key|win10专业工作站版激活码

    一.windows10专业工作站零售版密钥 永久激活 Win 10 ProfessionalWorkstation Retail [Key]:DXG7C-N36C4-C4HTG-X4T3X-2YV77 ...

  9. Django 查看原生的sql语句

    python manage.py sqlmigrate your_app_name 0001 把your_app_name换成自己的app名字即可看到框架自动生成的创建表sql语句,于是我就这样看到了 ...

  10. 2020牛客寒假算法基础集训营6 C 汉诺塔 (dp 最长下降子序列)

    https://ac.nowcoder.com/acm/contest/3007/C 将木板按照Xi从小到大排序,将这时的Yi数列记为Zi数列,则问题变成将Zi划分为尽可能少的若干组上升子序列. 根据 ...