问题标签 [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.

0 投票
1 回答
17278 浏览

docker - 如何将数据从 docker 卷复制到主机?

我创建了一个 docker 卷“hello”,它包含一些数据。

如何将数据复制到主机

第一的 :

检查:

音量“你好”检查

如何将卷“hello”上的数据复制到主机?

我试过了 :

它没有按预期工作!

谁能帮我 ?

0 投票
2 回答
2412 浏览

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 共享的小脚本的中间部分处理的。

但我现在怎么办?

0 投票
1 回答
289 浏览

docker - 如何运行链接到先前创建的卷的 docker 容器

我有一个命名卷,里面有东西。我想提供这个卷,因为我提供了一个路径:docker run -v /host:/path.in.docker.container- 这适用于路径。我想对我手动创建和填充的卷做同样的事情。

我知道 --volumes-from,但我如何首先将卷连接到空容器。

0 投票
5 回答
74467 浏览

docker-compose - Docker-compose 命名挂载卷

为了跟踪 docker-compose 使用的卷,我想使用命名卷。这适用于“正常”卷,例如

但是我不知道在安装本地主机时如何使它工作。我正在寻找类似的东西:

或者

这是可能的还是我被安装的匿名卷卡住了?

0 投票
4 回答
66070 浏览

docker - 如何更改“docker create volume”命令的默认位置?

通过卷 API 创建卷时,即容器卷模式现在不一定是最佳实践:

例如,我想在 /data 中存在 docker 卷(安装在不同的物理卷中)。

这与符号链接无关,可以与绑定安装有关,但我想知道 Docker 中是否有一些配置可以更改每个单独卷的默认位置。

0 投票
1 回答
320 浏览

docker - COPY 后的 Docker 卷持久性

我有一个 docker 图像,我在其中使用嵌入式 derby 持久性,如下所示:

BatchDB 文件夹有一些运行时文件,这些文件也在映像构建时被复制。

我想使用 docker 卷来持久化/opt/ibm/wlp/usr/shared/resources/BatchDB目录,但是在运行容器时,如果我附加了由外部创建的 docker 卷docker volume create --name dataVolume,则容器在 BatchDB 文件夹中没有任何文件。

当我挂载一个卷时,有什么办法,我仍然有在构建时存储的文件吗?

0 投票
1 回答
2184 浏览

docker - 创建包含预先存在的数据的 Docker 卷

我有一个 MySQL 映像,我从中启动一个容器。每次创建容器时,我都会设置 dbs ,导入 sql-dump 文件并创建用户。

当我在容器上工作时,我会创建存储在 MySQL 中的各种数据。

我想将这些额外数据保存在数据卷容器 [DVC] 中,以便我可以将 DVC 交给同事并从我停止的地方继续。

问题是他还将启动一个 MySQL 容器,并且将从头开始重复初始过程。

正如我所读到的,如果我从 DVC 挂载 [ --volumes-from] 卷 [/etc/mysql/var/lib/mysql],则已经存在的数据将被覆盖并且不可读。

是否可以将卷与已经包含数据的目录一起使用?

0 投票
1 回答
24081 浏览

docker - 主机上的 chown docker 卷(可能通过 docker-compose)

我有以下示例

效果很好。当我运行docker-compose up它时,它会在其中创建那些命名卷/var/lib/docker/volumes,一切都很好。但是,从主机上,我只能/var/lib/docker以 root 身份访问,因为它是root:root(有道理的)。我想知道是否有一种方法可以chown将主机的目录设置为更明智/更安全的东西(例如,我用来在主机上做大多数事情的相对无特权的用户),或者我是否只需要chown手动吸收它。我已经开始有一些脚本来解决其他问题,所以多写几行不会有太大问题,但我真的很想尽量减少我自己编写的自动化,如果我可以 - 减少愚蠢错误的机会。

顺便说一句,不:如果我挂载主机目录而不是创建卷,它们会被覆盖,这意味着如果它们开始为空,它们将保持为空,并且我不会从容器内部获得默认配置(或其他配置)。

加分:我可以将卷移动到更方便的位置吗?说,/home/myuser/myserverstuff/volumes

0 投票
0 回答
389 浏览

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。

我做错了什么?

谢谢。

0 投票
2 回答
100753 浏览

docker - 如何在主机上为 docker-compose.yml 中的命名卷设置路径

下面的示例创建名为卷的dbdata并在db服务中引用它:

(来自https://stackoverflow.com/a/35675553/4291814

我可以看到卷默认的路径为:

/var/lib/docker/volumes/<project_name>_dbdata

我的问题是如何在主机上为dbdata卷配置路径?