前2篇都是相对于docker的运行环境Linux而来的,但是我们现实环境中,开发环境中都是使用的是Windows,所有很有必要学会在Windows下挂载容器, 如果你自己的机器也是 Linux ,那就不需要担心什么了,直接和上面一样,但是你如果是 Windows 系统,那么就有点麻烦了,具体怎么操作,看一下我的案例吧。

首先 docker 容器的 Linux Windows 支持并不是很高,他只对 C:\Users 目录下进行挂载,其他目录都没有办法挂载,除非用 VirtualBox 修改这个虚拟机的共享目录设定,否则在虚拟机里只能看到 C:\Users 以下的文件

可以看到 Linux 系统只有关联到本地 C:\Users 这个目录,其他的目录都找不到,那么我们就在这个目录下进行挂载操作

docker run -d -p 8888:8080 -v /c/Users/systemDir:/usr/local/log balance

我们看到已经能够完美的挂载了,其他实验方法可以自行测试。

其实Windows下最主要的是要找对位置,其他的逻辑和之前的是一样的,还是Windows下的docker是在一个Linux虚拟机环境下运行的,这一点非常重要!

volume/ 数据卷容器 (--volumes-from)

创建的方式所谓有一点不同,就是要在挂载的文件下创建一个数据卷容器,专门用户其他容器挂载,但是操作起来和挂载差不多,就是多了一个创建 db.properties 文件

比如在挂载目录 /data 下面创建一个 /data/dbdata ,然后再在里面创建一个 db.properties 文件

首先启动一个容器

docker run -it -d -p 8888:8080 -v /data/dbdata --name dbdata  balance

/data/dbdata ,然后再在里面创建一个 db.properties 文件

然后再起一个容器

docker run -it -d -p 9999:8080 --volumes-from dbdata jpress

使用命令 docker inspect 时,发现他们的 Mounts 下的 Source 都是一样的,说明它们都绑定到宿主机的同一个目录,所以当某个容器的挂载修改时,其他容器也看到了同样的效果

Dockerfile 文件构建的时候设置 volume

前2篇都是相对于docker的运行环境Linux而来的,但是我们现实环境中,开发环境中都是使用的是Windows,所有很有必要学会在Windows下挂载容器,如果你自己的机器也是Linux,那就不需要担心什么了,直接和上面一样,但是你如果是Windows系统,那么就有点麻烦了,具体怎么操作,看一下我的案例吧。首先docker容器的Linux对Windows支持并不是很高,他只对C:\Users 目...
docker run -t -i -v /d/PycharmProjects:/test –name test ldzm/myubuntu:14.04 /bin/bash-v /d/PycharmProjects:/test -v 挂载 本地文件夹到 docker 容器 中,在 容器 中修改/test文件夹中的内容也就是修改D:\PycharmProjects文件夹中的内容 /d/PycharmProject
最近想搭建一套CI/CD环境尝试一下,因为手里云服务太小了(1C1G),撑不起来gitlab和jenkins。恰巧年前配了台高配版的 windows 机器,就想在家里的机器上通过 docker 装gitlab和jenkins。 但是经过尝试,发现 docker windows 10下面使用有很多坑,从网上帖子看,好像这个问题短期之内修复不了(涉及到文件系统了),故总结,并将踩坑经验分享给大家 环境:win10专业版,使用hyper V支持 docker docker desktop community 2.2....
由于我是在 windows 上安装的 docker ,无法像linux上直接访问 挂载 的source路径,如果像修改 挂载 的共享文件夹,方式是在powershell里敲如下进入 >> cd \\wsl$\ docker -desktop-data\version-pack-data\community\ docker \volumes\ 如果是mac可以通过sreen的方式进入
Data Volumes的初衷是实现独立于 容器 的生命周期实现数据持久化,实现多个 docker 容器 之间的数据持久化及共享,因此删除 容器 的时候不回删除卷,也不会对哪怕未被引用的卷作垃圾回收. Volume在初始化的时候就会创建,由base image提供的卷中的数据会在此期间完成复制. Docke-managed Volume docker run --name b1 -it -v /data bus...
本脚本也不限制从一台 Windows 10 上共享文件夹给另一台 Windows 10 上的 Docker 虚拟机中的 Docker 。 也可以是从一台 Windows 10 上共享文件夹给另一台 Mac OXS 上的 Docker 虚拟机中的 Docker 。 或者是从一台 Windows 10 上共享文件夹给另一台 Linux 上运行的 Docker
1、 docker volume方式 在 Docker 中,要想实现数据的持久化(所谓 Docker 的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机 挂载 容器 中。目前 Docker 提供了三种不同的方式将数据从宿主机 挂载 容器 中: (1)volumes: Docker 管理宿主机文件系统的一部分,默认位于 /var/lib/ docker /volumes 目录 中;(最常用的方式)   由上图可以知道,目前所有Container的数据都保存在了这个 目录 下边,由于没有在创建时指定卷,所以 Docker
启动一个tomcat 容器 docker run -d -p 8080:8080 -v tomcat:/user/local/tomcat/webapps --name tomcat_volume tomcat 1、如果使用的数据卷不存在,也就是/var/lib/ docker /volumes没有tomcat会自动创建 将 容器 内部/user/local/tom
之前写过一篇关于 Docker 容器 和本机之间的文件传输。的文章,但是此方法相对比较繁琐一些,在查看了官方关于数据管理的文档之后发现利用volume来实现主机和 容器 的文件传输效率更高一点,其实也就是将本地的 目录 进行 挂载 容器 上,官方一共有三种方法:Manage data in Docker , 这里只介绍使用volume的操作:Use volumes 1.使用Volume在主机和 容器 之间传输文件。 在官方文档中可以看到使用如下命令即可创建一个volume: Create a volume: $ docker volume create my-vol 注意这个命令不是所有的 docker 版本都可以
这个问题可能是由于 挂载 目录 权限问题导致的。你可以尝试使用以下命令来更改 目录 的权限: sudo chmod -R 777 /path/to/mounted/directory 如果问题仍然存在,你可以尝试使用 docker -compose来管理你的 容器 ,这样可以更方便地管理 容器 的数据卷。