win 下 docker 环境配置
声明
- 此文只针对 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 环境配置的更多相关文章
- win下jdk7环境变量的配置
win下jdk7环境变量的配置: 单击计算机(Computer),选择属性(Properties),选择高级系统设置(Advanced systems settings), 选择环境变量(Enviro ...
- centos7系统下 docker 环境搭建
运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...
- win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境
win7环境基础在上一篇win7下docker环境搭建nginx+php-fpm+easyswoole开发环境中已经详细叙述搭建完成 本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实 ...
- Java应用在docker环境配置容器健康检查
在<极速体验docker容器健康>一文已体验了docker容器健康检查功能,今天就来给java应用的容器加入健康检查,使应用的状态随时都可以被监控和查看. 实战环境信息 操作系统:macO ...
- 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3
阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3 Posted on 2016年2月10日 by 学院君 1.Apache 配置 —————————————————– vi / ...
- Windows 下 MSYS2 环境配置和 MinGW-w64 C++ 环境配置
Windows 下 MSYS2 环境配置和 MinGW-w64 C++ 环境配置 1.简介 本文主要是 Windows 下 MSYS2 环境配置和 MinGW-w64 C++编译环境配置方法 2.下载 ...
- windows下androidNDK环境配置
一:什么是NDK? NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和java 应用一起打包成apk.这些工具对开发者的帮助是巨大的. NDK 集成了交叉编译器, ...
- win下python环境搭建以及安装pip、django
1. 安装python并配置 下载安装python,这里我下载的是python2.7,听说2.7比较好用 地址:https://www.python.org/downloads/source/ 记住你 ...
- win7下docker环境安装
最近公司涉及到对docker容器引擎的使用,所以就在网上各种搜索,由于是win7系统,所以在使用上更是麻烦,遇到各种错误就是无法成功启动docker,经过两天的各种尝试下,终于安装成功,在此记录一下使 ...
随机推荐
- javascript当中onload用法
7)onload onload就是等页面加载完后才执行. 例 3.7.1 <HEAD> <meta http-equiv="content-type" conte ...
- 组件使用v-model、$listeners、.sync(区别于v-model的双向数据绑定)
自定义组件 自定义组件的v-model 首先我们先说一下在自定义组件中使用v-model的必要条件 在自定义的组件中要有input(这里我们先不讨论单选复选框) 在自定义组件的模板对象中要有props ...
- [HNOI2015]接水果[整体二分]
[HNOI2015]接水果 给出一个树上路径集合\(S\) 多次询问\(x,y\)中的\(k\)小值 如果你问我数列上那么我会 树上的话 树上差分了吧直接?- 令 \(st_x<st_y\) 1 ...
- Codeforces Round #620 (Div. 2) D
构造一个排列,要求相邻之间的数满足给定的大小关系,然后构造出两个序列,一个序列是所有可能的序列中LIS最长的,一个所有可能的序列中LIS最短的 最短的构造方法:我们考虑所有单调递增的部分,可以发现要让 ...
- 集合使用 Iterator 删除元素
针对常见的数据集合,比如 ArrayList 列表,对其进行遍历,删除其中符合条件的某个元素,使用 iterator 迭代器进行迭代,代码如下: public class PracticeContro ...
- java中给集合快速取值最大值和最小值
public static void main(String[] args) { List list = new ArrayList(); list.add(new Double(123.23)); ...
- java 日期累加,如何求一年后日期,一月后日期,一周后日期和一天后日期
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import ja ...
- Angular 相关概念
1.XMLHttpRequest 对象(属于xmlJavascript) XMLHttpRequest 对象用于在后台与服务器交换数据. Ajax 是对XMLHttpRequest 的封装,XMLHt ...
- php Allowed memory size of 134217728 bytes exhausted
报错:PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in ...
- Chrome 提标 您的浏览器限制了第三方Cookie...解决方法
最近升级Chrome后会出现 您的浏览器限制了第三方Cookie,这将影响您正常登录,您可以更改浏览器的隐私设置,解除限制后重试. 解决方法: chrome://flags/ 把这句复制到浏览器回车 ...