我相信不少开发者正在或曾经使用 docker 起后端开发环境,那么肯定有不少人遇到过这个莫名奇妙的错误: Error invoking remote method ‘docker-start-container...错误的解决方案 来自 StackOverflow 的错误解决方案 在该问题的高赞回答中,他使用了以下命令: net stop winnat docker start container_name net...Windows 中个东西叫做“TCP 动态端口范围”,这个范围内的端口有时候会被一些服务占用。...在 Windows Vista(或 Windows Server 2008)之前,动态端口范围是 1025 到 5000;在其之后的版本中,新的默认起始端口为 49152,新的默认结束端口为 65535...但是 Windows 自动更新有时会出错(万恶的自动更新),把“TCP 动态端口范围”起始端口被重置为 1024,导致 Hyper-V 在预留端口的时候占用了常用端口号,使得一些常用端口因为被预留而无法使用
可以使用 Docker CLI 命令或 Docker API 来管理。 volume 在 Linux 和 Windows 容器上都能工作。 volume 可以在多个容器之间更安全的共享。...如果将非空的文件或目录挂载到容器,容器中的该目录也有文件,那么,容器中的文件将会被隐藏。...与私有相同,这意味着在原始或副本安装点内的任何位置都不会有安装点向任一方向传播。 在可以在安装点上设置绑定传播之前,主机文件系统需要已经支持绑定传播。...有关绑定传播的更多信息,请参阅 共享子树 的 Linux内核文档。 以下示例将 target/ 目录装载到容器中两次,第二个装入设置 ro 选项和 rslave 绑定传播选项。...这会影响主机本身的文件或目录,并可能导致Docker范围之外的后果。 该 z 选项指示绑定安装内容在多个容器之间共享。 该 Z 选项指示绑定安装内容是私有的和非共享的。 使用极端谨慎使用这些选项。
Docker可能会在某些情况下提示更多信息,即使启用了自动发送功能。 Share Drives 与Docker for Windows共享本地驱动器(卷),以便它们可用于您的容器。...如果您使用不同于此处设置共享的用户名的Docker命令和任务,您的容器将无权访问已装载的卷。 提示:共享驱动器只需要卷容器装载Linux容器,而不是Windows容器。...注意:在Docker for Windows Beta 29及更高版本中,Docker检测端口445是否关闭,并在尝试添加共享驱动器时显示以下消息: 要共享驱动器,请允许Windows主机与Windows...注意:有些用户报告在Docker for Windows稳定版本上连接Docker Hub的问题。.../search.html step2 查看你的加速地址 step3 使用docker for windows设置 桌面右下角,右击docker图标,选中setting 在registry
Docker可能会在某些情况下提示更多信息,即使启用了自动发送功能。 Share Drives 与Docker for Windows共享本地驱动器(卷),以便它们可用于您的容器。...如果您使用不同于此处设置共享的用户名的Docker命令和任务,您的容器将无权访问已装载的卷。 提示:共享驱动器只需要卷容器装载Linux容器,而不是Windows容器。...注意:在Docker for Windows Beta 29及更高版本中,Docker检测端口445是否关闭,并在尝试添加共享驱动器时显示以下消息: 要共享驱动器,请允许Windows主机与Windows...注意:有些用户报告在Docker for Windows稳定版本上连接Docker Hub的问题。...在registry mirrors贴入你的地址,apply 迁移虚拟盘 参考了一些教程,直接设置路径和在docker for windows中设置 在我这儿不适用 控制面板 >> 管理工具
,也是目前最成熟的Docker持久化存储方案,它具备以下优点/特性 数据卷比绑定挂载(Bind mounts)更容易备份或迁移 数据卷可以通过 Docker CLI 命令或 Docker API 进行管理...数据卷适用于 Linux 和 Windows 容器 数据卷支持存储在远端主机上,并支持加密存储 数据卷的数据不支持在宿主机上直接查看或管理 数据卷可以在宿主机上预先占用空间,以免磁盘被占用导致容器无法正常运行...在 Mac 和 Windows 开发环境下,数据卷相比绑定挂载(Bind mounts)有更好的性能 数据卷可以用于容器之间共享数据 2、绑定挂载(Bind mounts) 绑定挂载(Bind mounts...,且不能用于容器间的数据共享 虽然官方文档上说只能在Linux环境下的Docker上使用,但我基于Docker Desktop 4.14 on Windows测试下来是可以,猜测是Docker官方在某个...目录的数据读写,实际上都是读写宿主机目录的读写 另外,我们是在Windows上,我们可以指定Windows上的路径格式,也可以保持风格统一,把目录转换为:/d/docker/logs # 使用-v参数
/volumes 目录下面是不是真的有数据卷,答案是:对于非 Linux 系统而言(Windows 和 Mac 系统),该目录不存在于你的文件系统中,而是存在于 Docker 虚拟机中。...,由于是匿名卷,所以 Name 字段就是一串长长的随机数,命名卷则为指定的名称 Source 为数据卷在主机文件系统中的存储路径(之前说了,Windows 和 Mac 在 Docker 虚拟机中) Destination...: 只能创建匿名卷 当通过 docker run -v 指定数据卷时,Dockerfile 中的配置会被覆盖 绑定挂载 绑定挂载(Bind Mount)是出现最早的 Docker 数据管理和存储解决方案...小结 我们贴出官方文档这张示意图: 可以看到: 数据卷(Volume)是 Docker 在本地文件系统中专门维护了一个区域用于存储容器数据 绑定挂载(Bind Mount)则是建立容器文件系统和本地文件系统的映射...事实上,Docker 确实为我们提供了两个命令来搞定整个容器的打包和装载:export 和 import 。
电脑支持虚拟化 对于windows10系统来说,你可以在 任务管理器->性能 中查看到你的电脑是否开启了虚拟化 ?...配置docker加速器 对于使用 Windows 10 的系统,在系统右下角托盘 Docker 图标内右键菜单选择Settings,打开配置窗口后左侧导航菜单选择 Daemon。...--name:为容器命名 -v:创建数据卷 -p:绑定端口 7.3.1....什么是数据卷 数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷 可以在容器之间共享和重用 对 数据卷 的修改会立马生效 对 数据卷 的更新,不会影响镜像...2.相当于将容器中的目录 和 本机目录映射起来,在本机目录中修改代码,增加文件等,会实时反映在容器目录中 8.2. 为什么要使用数据卷 方便将本地主机中的代码运行在docker容器中 8.3.
Windows 环境 Windows 安装 Docker 比较简单。首先要打开 Windows功能。...打开 Hyper-V 之后打开 适用于 Linux 的 Windows 子系统 在官网下载镜像 点击下载后的镜像并一直 next 就行 2....数据卷的概念及作用 1. 概念 数据卷是宿主机中的一个目录或文件 当容器目录和数据卷目录绑定后,对方的修改会立即同步 一个数据卷可以被多个容器同时挂载 一个容器也可以被挂载多个数据卷 2....通过-e覆盖 格式ENV name=value ARG 构建参数 构建参数 只在构建的时候使用的参数 如果有ENV 那么ENV的相同名字的值始终覆盖arg的参数 VOLUME 定义外部可以挂载的数据卷...Docker Compose 安装使用: 1.安装 Docker Compose # Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker
卷(volumes)是 Docker 容器生产和使用持久化数据的首选机制。绑定挂载(bind mounts)依赖于主机的目录结构,卷(volumes)完全由 Docker 管理。...卷与绑定挂载相比有几个优势: 卷比绑定挂载更容易备份或迁移。 您可以使用 Docker CLI 命令或 Docker API 来管理卷。 卷可以在 Linux 和 Windows 容器上工作。...创建和管理卷 与绑定挂载不同,您可以在任何容器的作用域之外创建和管理卷。...对于某些开发应用程序,容器需要写入绑定挂载,以便更改传播回 Docker 主机。...这个示例修改了上面的示例,但是通过在容器内的挂载点之后的选项列表(默认为空)中添加 ro,将目录挂载为只读卷。当有多个选项时,使用逗号分隔它们。 下面 --mount 和 -v 示例有相同的结果。
联合加载 (union mount) 的这些叠加起来的 roofts 就是 Docker 镜像. 镜像实例化后会分配一层空的 read-write 的 roofts==>容器层....绑定挂载 (bind mounts) 依赖于目录结构以及宿主机的操作系统, 而卷完全由 Docker 管理....相比绑定挂载, 卷有以下几个优点: 卷更加容易备份和迁移 可以使用 Docker CLI 命令或者 Docker API 来管理卷 卷在 Linux 和 Windows 系统均可工作 卷驱动允许将卷存储在远程主机或是云提供商..., 以加密卷的内容或是添加其他功能 新的卷可以由容器预填充内容 Docker Desktop 上的卷比 Mac 和 Windows 宿主机上的绑定挂载具有更高的性能 绑定挂载 (bind mounts...创建和管理卷 与绑定挂载不同, 在容器外可以创建和管理卷.
由上图可以知道,目前所有Container的数据都保存在了这个目录下边,由于没有在创建时指定卷,所以Docker帮我们默认创建许多匿名(就上面这一堆很长ID的名字)卷。 ...(2)bind mounts:意为着可以存储在宿主机系统的任意位置;(比较常用的方式) 但是,bind mount在不同的宿主机系统时不可移植的,比如Windows和Linux的目录结构是不一样的,...可以看到,与volumes不同,bind mounts的方式会隐藏掉被挂载目录里面的内容(如果非空的话),这里是/usr/share/nginx/html 目录下的内容被隐藏掉了,因此我们看不到。 ...Step2.在容器中查看 ? 3.2 验证绑定 docker inspect edc-nginx 通过上述命令可以看到一大波配置,我们要关注的是: ?...四、小结 本文探索了Docker的数据卷及挂载数据到容器的两种主要方式Volumes和Bind Mounts,并介绍基本的使用方式和步骤,通过数据卷我们可以实现Docker的数据持久化,在实际应用中比较广泛
上面内容来自百度百科,但是我印象中,Docker好像已经支持了Mac和Windows,所以,应该是可以部署在任何机器上了吧。...说了一堆,还是不知道什么是Docker,暂时先抛开Docker具体使用了什么技术,有什么指令可以使用,先来介绍几个概念。 Docker最重要的两个概念是镜像和容器,除此之外呢,链接和数据卷也很重要。...数据卷 数据卷可以不受容器生命周期影响进行数据持久化。它们在表面上是容器内的空间,但实际上保存在容器外,从而允许在不影响数据的情况下对容器进行操作。...卷,是针对容器的,可以使用同一个镜像创造多个容器并定义不同的卷。卷保存在运行Docker的宿主文件系统中,同时可以用来在容器间共享数据。...Union文件系统 在Union文件系统里,文件系统可以被装载在其他文件系统之上,其结果就是一个分层的积累变化。每个装载的文件系统表示前一个文件系统之后的变化集合,就像是一个diff。
Portainer可以与Docker轻松安装在独立的Linux/Windows服务器/集群上。功能齐全的平台使你可以使用不同的端点。 可以管理注册表,网络、卷、镜像和容器。...DockStation DockStation是一卷桌面应用程序;支持Linux、Mac、Windows操作系统。...此外,DockStation在Docker Hub上十分的受欢迎。...在Windows上使用Docker Desktop。...要求GO 1.11.4以上版本,Docker引擎在18.06.1以上,以及Git。 Docui是为了方便创建和配置新的容器/服务,可以在其中找到许多所有必要操作的键绑定。
VOLUME 一句话总结 作用:创建一个匿名数据卷挂载点 格式: VOLUME ["/data"] 详解:运行容器时可以从本地主机或其他容器挂载数据卷,一般用来存放数据库和需要保持的数据等 实际栗子...docker run -v mydata:/data 必须使用双引号,不能使用单引号 注意事项 使用基于 Windows 的容器时 挂载的目录必须是以下之一: 一个不存在或空的目录 C 盘以外的盘 无法通过...docker run -v 来指定主机目录哦 VOLUMN 指令后面的步骤 如果在 VOLUMN 指令后面的构建步骤更改了卷中的数据,这些数据会被丢弃 小栗子 FROM ubuntu RUN mkdir.../myvol RUN echo "hello world" > /myvol/greeting VOLUME /myvol 运行容器 docker run -it -d test 没有用 -v 挂载卷...通过 docker inspect 查看挂载卷 docker inspect 3d2f 可以看到 Volumes 空 "Volumes": { "/myvol": {} },
默认情况下,在容器内创建的所有文件都存储在可写容器层中。这意味着: · 当该容器不再存在时,数据不会持久存在,并且如果另一个进程需要,则可能很难从容器中获取数据。...使用数据卷持久保存数据库文件 卷是保存Docker容器中的数据的首选机制。虽然绑定挂载依赖于主机的目录结构,但卷完全由Docker管理。主要有如下好处: · 易于备份或迁移。...· 可以使用Docker CLI命令或Docker API管理卷。 · 适用于Linux和Windows容器。 · 可以在多个容器之间更安全地共享卷。...· 卷驱动程序允许在远程主机或云提供程序上存储卷,加密卷的内容或添加其他功能。 · 新卷可以通过容器预先填充内容。...-v or –volume用于映射卷,冒号“:”前面的目录是宿主机目录,冒号后面的目录是容器内目录。 执行成功后,我们可以看到容器已正常运行,并且主机目录已绑定: ?
Portainer可以与Docker轻松安装在独立的Linux/Windows服务器/集群上。功能齐全的平台使你可以使用不同的端点。 可以管理注册表,网络、卷、镜像和容器。...2.DockStation DockStation是一卷桌面应用程序;支持Linux、Mac、Windows操作系统。...此外,DockStation在Docker Hub上十分的受欢迎。...,在Windows上使用Docker Desktop。...要求GO 1.11.4以上版本,Docker引擎在18.06.1以上,以及Git。 Docui是为了方便创建和配置新的容器/服务,可以在其中找到许多所有必要操作的键绑定。
同一个镜像可以被创建多个同时运行的容器,相当于最上层的可写层不同而已,Docker版“披上羊皮的狼”。 容器数据储存 默认情况下,在容器内创建的所有文件都存储在可写层中。...Docker有两个容器选项可以在主机中存储文件,因此即使在容器停止之后文件仍然存在:数据卷和挂载目录。如果你在Linux上运行Docker,你也可以使用tmpfs mount。...该readonly选项(如果存在)导致绑定装入以只读方式装入容器中。 该volume-opt选项可以多次指定,它采用由选项名称及其值组成的键值对。...可以使用Docker CLI命令或Docker API管理数据卷 卷适用于Linux和Windows容器。可以在多个容器之间更安全地共享卷。...卷驱动程序允许在远程主机或云提供程序上存储卷,加密卷的内容或添加其他功能。 新卷可以通过容器预先填充其内容。
你可以在容器层进行写入,但是如果容器被删除了,那么可读写的这一层也会被删除。 这样就不太友好了,而这时我们可以使用Volume(卷)。 下面就是这个问题,如何把源码装进容器里?...Volume(卷)是容器中一个特别种类的目录,通常叫做数据volume,顾名思义,里面可以放置各种类型的数据,例如代码、日志文件、数据文件等等。 Volume可以在容器间被共享和复用。...让Docker决定写入的位置 先介绍第一种情况,当你写入到volume的时候,比如在Docker容器里的代码对/var/www做了一个写入的操作,那该目录其实就是你docker host里面的一个装载的文件夹...Docker host也就是容器的宿主,如果你使用的是Linux系统或Windows 2016及以上版本的系统,那么该宿主就是操作系统。容器也就是运行在该系统上。...那么在这个例子里,我们写入的这个volume,它可以不是容器的可读写层,它实际上可以写入docker host的装载的文件夹,也就是操作系统的文件夹。
领取专属 10元无门槛券
手把手带您无忧上云