问题标签 [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 投票
3 回答
289 浏览

ubuntu - Docker 容器卷不写入主机

嗨,我尝试在 docker 容器中生成一些资产并将其放到主机上。所有在使用 virtualbox 驱动程序初始化的 docker-machine 环境中运行的东西。

例如我运行:

接着

从那时起,我实际上必须dummy.txt在主机的$PWD/testfolder文件夹中查看,但其中既没有文件夹testfolder也没有dummy.txt(逻辑上)。

奇怪的是,相同的设置在 MacOSX 上工作正常并在主机端创建文件,但是当我尝试它时 Ubuntu:14.04 它停止工作。这里都是inspect容器

据我所知,它们都完全相同。

它尝试使用 docker-machine 版本 0.7.0-rc2 和 0.6.0,docker 版本是 1.10.3

有没有人经历过,类似的事情?我非常感谢任何可能的小费。谢谢。

0 投票
0 回答
1601 浏览

apache - 如何更改共享 docker 卷的 umask?

这与“ https://stackoverflow.com/questions/36477636/how-do-i-implement-a-shared-hosting-like-service-with-docker ”有关。

我正在尝试设置一堆应该能够到rwdocroot 的 apache-php 容器,以及一个也应该能够到rw同一目录的 sftp 容器。因此,计划是创建一个共享卷,并将其安装在两个容器中(对于 sftp 容器,显然是在不同的位置)。我修改了官方的 php:7-apache 启动脚本,如下所示:

事实上,这两条umask线证实了夹层umask 0002运行正确。但是,当我bash进入容器并自己测试时,umask返回022,如果我创建任何文件,它们实际上会获得权限644。然后我可以手动umask 0002创建任何具有权限664(和775目录)的新文件。

对于这个用例,两个容器(sftp 和 apache)都可以在共享卷中读写是至关重要的。那么,我该怎么做呢?

0 投票
2 回答
7848 浏览

docker - Docker 卷挂载不存在

我在 OS X 上运行 Docker 1.11,并试图找出我的本地卷的写入位置。我通过运行创建了一个 Docker 卷docker volume create --name mysql。然后我跑了docker volume inspect mysql,它输出以下内容:

这个问题/mnt/sda1/var/lib/docker/volumes/mysql/_data实际上并不存在于我的机器上。我想也许问题是它实际上并没有被创建,直到它被容器使用,所以我通过运行启动了一个容器docker run --name mysql -v mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysql -P -d mysql:5.7,然后在 MySQL 中创建了一个数据库,但挂载点仍然不存在。我什至跑来docker inspect mysql确保它使用正确的音量并得到以下信息:

在这一点上,我完全不知道数据的写入位置。我错过了什么?

0 投票
0 回答
515 浏览

docker - docker volume - 谁覆盖了谁 - docker 内的文件还是外部的现有文件?

假设我在 docker 中有文件 solr.xml,并且父文件夹映射到外部的主机文件夹。

现在 solr.xml 已更新,我删除容器并重新安装新图像并启动新容器 - 我看到已经存在的“旧”文件没有被覆盖。

这不是预期的行为吗?最佳做法是什么?我不想开始处理“删除”卷,因为那里有客户创建的文件......

顺便说一句 - 映射是通过 docker 卷容器完成的

0 投票
1 回答
2307 浏览

docker - 当卷端点不在驱动器 C 上时,Docker 容器看不到 Windows 卷上的文件:

我想在我的工作过程中使用 docker 镜像。例如,我想使用 larryprice/sass 将我的 SASS 文件编译为 CSS。这张图很简单:

我正在使用 Windows 10、Docker 1.11 和 VirtualBox 5.0.16。

我的项目文件放在工作 SSD 上,映射到逻辑驱动器 D - D:\Projects\Foo\Bar\web\sass

所以,我的问题如下:当我从驱动器 D 将卷附加到容器时:(通过 $PWD 或通过 MINGW 样式 /D/Projects/Foo/Bar/web/sass 的完整路径)例如

容器看不到任何 SASS 文件:

但是当我从系统磁盘(C :) 挂载一个卷时,一切正常:

如何从 Windows 中需要的任何位置挂载卷?或者在我的情况下我做错了什么?

ps 在路径中添加前导斜杠也不起作用:

0 投票
0 回答
113 浏览

java - 为什么我需要运行 docker 特权才能访问主机 log4j2.yaml

我在 centos 7 主机中有一个 centos 7 映像。我的入口点使用 -Dlog4j.configurationFile=file:/opt/foo/bar/log4j2.yaml 我使用 -v 开关来共享 /home/fooser/log4j2.yaml:/opt/foo/bar/log4j2.yaml 当我刚刚使用 --cap-add SYS_ADMIN (我需要 samba 访问权限),log4j 无法访问它的配置文件;但是,如果我使用 --privileged,一切正常。我知道我必须需要一个额外的能力,但不知道它会是什么。

0 投票
2 回答
133 浏览

docker - docker run creating a new data volume for each run

I would like to persist some configuration data from a container and am following the tutorial on data volumes.

I'm successfully running the app with:

Where -v /app/config is the directory inside the container that contains the config that should survive a container restart.

Also the result of running the container creates a volume in /var/lib/docker/volumes.

However, if I kill the container and rerun it no data is persisted and a new volume is created in /var/lib/docker/volumes:

I would expect that these would be the steps for persisting, am I missing something here?

0 投票
2 回答
903 浏览

docker - 使用 -v 挂载 VOLUME 时文件不可用

我有一个 Docker Image,它有一个 VOLUME ["/log"]。

在运行容器时,我正在安装主机上存在的文件夹。

我希望 docker 在 VOLUME ["/log"] 上写入的所有日志都可供主机使用。

日志没有被 hostlogfolder 写入

但是日志在 docker 中的位置 /log 中可用

挂载文件夹的正确方法是什么?

0 投票
3 回答
2772 浏览

nginx - Docker 的容器挂载文件夹

我是 Docker 新手,我正在尝试简单地启动一个 nginx 应用程序。

为此,我有这个 DockerFile:

我的文件夹是这样组织的:

启动容器的命令:

但是容器停止了,我在日志中收到了这条消息:

我知道日志很清楚,但我不知道为什么它不起作用。

谢谢。

0 投票
2 回答
66 浏览

docker - 主机上的 docker 卷应该在哪里?

在主机端,所有挂载点都应该位于同一位置吗?或者它们应该反映容器内的位置?

例如,/var/jenkins_home为了与其 Unix 文件系统保持一致,在主机端挂载的最佳位置是什么?

  • /var/jenkins_home
  • /srv/jenkins_home
  • /opt/docker-volumes/jenkins/var/jenkins_home
  • 其他地方 ?