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,经过两天的各种尝试下,终于安装成功,在此记录一下使 ...
随机推荐
- 解决问题:当redis服务端断开的时候`进程会崩溃(转载6哥笔记)
package main import ( "fmt" "github.com/astaxie/beego/logs" "github.com/gar ...
- Net Core使用Lucene.Net和盘古分词器 实现全文检索
Lucene.net Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎, ...
- 剑指offer-面试题14-剪绳子-贪婪算法
/* 题目: 给定一个长度为n的绳子,把绳子剪为m段,(n>1,m>1) 求各段绳子乘积的最大值. */ /* 思路: 贪婪算法. 当绳子的长度大于5时,尽可能多的剪长度为3的绳子:当剩下 ...
- XMind快捷键汇总
在 XMind: ZEN 中,快捷键是可以大大提高绘图效率的存在.掌握常用的快捷键组合,就可以在键盘上运指如飞,快速地进行思维导图的绘制.还在等什么?感兴趣的朋友,下面就和小编一起来看看吧! XMin ...
- Java_Day6(上)
Java learning_Day6 本人学习视频用的是马士兵的,也在这里献上 <链接:https://pan.baidu.com/s/1qKNGJNh0GgvlJnitTJGqgA> 提 ...
- map/reduce+lambda让程序简单化
map()函数 map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. 也就是 map(f,[x,x,x, ...
- Connections in Galaxy War ZOJ - 3261 离线操作+逆序并查集 并查集删边
#include<iostream> #include<cstring> #include<stdio.h> #include<map> #includ ...
- 论文阅读笔记(九)【TIFS2020】:True-Color and Grayscale Video Person Re-Identification
Introduction (1)Motivation:在现实场景中,摄像头会因为故障呈现灰白色,或者为了节省视频的存储空间而人工设置为灰白色.灰度图像(grayscale images)由8位存储,而 ...
- 关于华为高斯数据库 GaussDB 版本及认证体系介绍
目录 你需要知道的 技术有国界 从它的名称说起 你听到过的版本 你听到过的流言蜚语 各个版本的区别 版本未来名称 华为 GaussDB 认证体系介绍 GaussDB 其他资料相关链接 你需要知道的 任 ...
- mysql日期函数及重复数据的查询
-- 日期函数select CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,year(CURRENT_DATE),month(CURRENT_DATE);sel ...