问题标签 [docker-volume]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 如何将数据从 docker 卷复制到主机?
我创建了一个 docker 卷“hello”,它包含一些数据。
如何将数据复制到主机?
第一的 :
检查:
音量“你好”检查
如何将卷“hello”上的数据复制到主机?
我试过了 :
它没有按预期工作!
谁能帮我 ?
macos - 在 OSX 上手动共享目录作为 docker 卷挂载点
根据docker 网站上的本教程,当您启动容器时,它会自动共享您的/Users/username
.
我目前的问题:
但是在我的学校里,我$HOME
不在/Users
,当我尝试使用类似的东西docker run -d -P -v $HOME/site:/usr/share/nginx/html --name mysite nginx
(如链接中的教程)直接在我的容器上挂载卷时,我无法通过挂载的卷更改文件。所以我想我$HOME
的不会自动共享。
但是如果我跑步,docker instpect mysite
我会得到:
和
我的问题很简单:
我如何手动与托管 docker 的 VM 共享目录(此处为 virtualbox)以将其用作卷安装点?
这就是我在 Boot2docker 被弃用之前使用它的方式:
使用boot2docker我可以运行类似的东西:
它工作得很好。
但是现在boot2docker已被弃用,我没有找到如何使用我现在必须使用的 VM(它使用 virtualbox)来执行此操作。
如果我理解得很好,它的工作方式应该与 boot2docker 的工作方式相同:
如果我仍然理解得很好,那么现在唯一不起作用的是点[1],这是由我刚刚与 boot2docker 共享的小脚本的中间部分处理的。
但我现在怎么办?
docker - 如何运行链接到先前创建的卷的 docker 容器
我有一个命名卷,里面有东西。我想提供这个卷,因为我提供了一个路径:docker run -v /host:/path.in.docker.container
- 这适用于路径。我想对我手动创建和填充的卷做同样的事情。
我知道 --volumes-from,但我如何首先将卷连接到空容器。
docker-compose - Docker-compose 命名挂载卷
为了跟踪 docker-compose 使用的卷,我想使用命名卷。这适用于“正常”卷,例如
但是我不知道在安装本地主机时如何使它工作。我正在寻找类似的东西:
或者
这是可能的还是我被安装的匿名卷卡住了?
docker - 如何更改“docker create volume”命令的默认位置?
通过卷 API 创建卷时,即容器卷模式现在不一定是最佳实践:
例如,我想在 /data 中存在 docker 卷(安装在不同的物理卷中)。
这与符号链接无关,可以与绑定安装有关,但我想知道 Docker 中是否有一些配置可以更改每个单独卷的默认位置。
docker - COPY 后的 Docker 卷持久性
我有一个 docker 图像,我在其中使用嵌入式 derby 持久性,如下所示:
BatchDB 文件夹有一些运行时文件,这些文件也在映像构建时被复制。
我想使用 docker 卷来持久化/opt/ibm/wlp/usr/shared/resources/BatchDB
目录,但是在运行容器时,如果我附加了由外部创建的 docker 卷docker volume create --name dataVolume
,则容器在 BatchDB 文件夹中没有任何文件。
当我挂载一个卷时,有什么办法,我仍然有在构建时存储的文件吗?
docker - 创建包含预先存在的数据的 Docker 卷
我有一个 MySQL 映像,我从中启动一个容器。每次创建容器时,我都会设置 dbs ,导入 sql-dump 文件并创建用户。
当我在容器上工作时,我会创建存储在 MySQL 中的各种数据。
我想将这些额外数据保存在数据卷容器 [DVC] 中,以便我可以将 DVC 交给同事并从我停止的地方继续。
问题是他还将启动一个 MySQL 容器,并且将从头开始重复初始过程。
正如我所读到的,如果我从 DVC 挂载 [ --volumes-from
] 卷 [/etc/mysql
和/var/lib/mysql
],则已经存在的数据将被覆盖并且不可读。
是否可以将卷与已经包含数据的目录一起使用?
docker - 主机上的 chown docker 卷(可能通过 docker-compose)
我有以下示例
效果很好。当我运行docker-compose up
它时,它会在其中创建那些命名卷/var/lib/docker/volumes
,一切都很好。但是,从主机上,我只能/var/lib/docker
以 root 身份访问,因为它是root:root
(有道理的)。我想知道是否有一种方法可以chown
将主机的目录设置为更明智/更安全的东西(例如,我用来在主机上做大多数事情的相对无特权的用户),或者我是否只需要chown
手动吸收它。我已经开始有一些脚本来解决其他问题,所以多写几行不会有太大问题,但我真的很想尽量减少我自己编写的自动化,如果我可以 - 减少愚蠢错误的机会。
顺便说一句,不:如果我挂载主机目录而不是创建卷,它们会被覆盖,这意味着如果它们开始为空,它们将保持为空,并且我不会从容器内部获得默认配置(或其他配置)。
加分:我可以将卷移动到更方便的位置吗?说,/home/myuser/myserverstuff/volumes
?
windows - Docker 卷未从 Windows 主机安装在 Ubuntu 容器中
我正在尝试在我可爱的 Windows 上使用 Facebook 的 HHVM,但由于尚不支持它,我正在尝试 Docker。
很简单。我在路径的同一目录中只有这两个文件/c/apache/htdocs/hello-hhvm
Dockerfile
你好.php
然后我构建图像:
docker build -t hhvm .
并运行容器尝试挂载卷/app
:
docker run --rm -it -v /c/apache/htdocs/hello-hhvm:/app hhvm bash
/app
我成功地在BUUUUT 目录中的容器上启动了一个 bash 会话,那里hello.php
既没有 Dockerfile。
我做错了什么?
谢谢。
docker - 如何在主机上为 docker-compose.yml 中的命名卷设置路径
下面的示例创建名为卷的dbdata并在db服务中引用它:
(来自https://stackoverflow.com/a/35675553/4291814)
我可以看到卷默认的路径为:
/var/lib/docker/volumes/<project_name>_dbdata
我的问题是如何在主机上为dbdata
卷配置路径?