问题标签 [volumes]
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-compose.yml 创建数据容器?
这个问题来自 Docker 存储库中的一个问题:
https ://github.com/docker/compose/issues/942
我无法弄清楚如何使用 docker compose 创建数据容器(没有进程运行)。
cassandra - 使用卷时,导入 cassandra 架构脚本不会在 docker 中运行
我在 Docker 中使用 cassandra 时遇到问题
我已经创建了一个像这样的 Dockerfile
如果我有使用
一切正常,但如果我使用
cassandra 启动,但 /usr/local/bin/cassandra-init.sh 没有导入我的方案
任何想法?
这些是我的文件内容
mysql - Mac 上的 Docker 机器:在 docker 主机/docker 机器上看不到已安装的卷?卷物理存储在哪里?
我在 Macbook Pro 笔记本电脑上运行docker-machine (0.5.0)和docker-compose (1.5.0)来启动我的容器。
这意味着我正在使用 docker-machine 创建我的 virtualbox boot2docker 驱动的主机,它将运行我的 docker 守护进程并托管我的所有容器。
我认为我在 HOSTS 和 VOLUME 的概念上遗漏了一些关键的东西,因为它们指的是 Docker 和文档。
这是我的 docker-compose.yml 文件(web 只是构建 php:5.6-apache 图像):
Docker Compose 卷的文件文档在这里:http ://docs.docker.com/compose/compose-file/
它规定了卷 -将路径安装为卷,可选择指定主机上的路径 (HOST:CONTAINER) 或访问模式 (HOST:CONTAINER:ro)。
在这种情况下,HOST 是指由 docker-machine 创建的我的 VM,对吗?还是我本地的 macbook 文件系统?将我的 VM 上的路径挂载到容器?
在网络下我声明:
这是将我的 macbook pro 上的本地 macbook 文件系统./src文件夹映射到我的 Web 容器。如果我的理解是正确的,它不应该将我的虚拟机上的./src文件夹映射到Web 容器中的/var/www/html吗?!从理论上讲,我认为我应该首先将我的本地 mac 文件系统文件夹./src 复制到我的虚拟机,然后我执行此卷声明。似乎 docker-compose 神奇地一次完成了这一切?使困惑
最后,我们可以看到我正在创建一个仅数据容器来保存我的 mysql 数据。我已经宣布:
这不应该在我的 HOST boot2docker VM 上创建一个/var/lib/mysql文件夹,然后我可以导航到 VM 上的这个文件夹,是/否?当我使用 docker-machine ssh 进入我的机器,然后导航到/var/lib时,根本没有mysql 文件夹?!为什么它没有被创建?我的配置有问题吗?:/
提前致谢!任何关于我在这里做错的解释将不胜感激!
docker - 码头工人在同一个文件夹上组成超过1个容器
我需要创建一些容器:1 个数据容器。2 个应用容器。他们必须有权访问同一文件夹(在数据容器中)。
我的问题是:当我创建 2 个应用程序容器时,有 2 个结果:
- 所有容器都有这个容器的一个实例(所以没有共享)
- 2 个容器之一控制共享文件夹,第二个失败。
在 2 个应用容器的图像中,我有:
- 容器 A:共享文件夹中的一些文件。
- 容器 B :使用此文件夹的应用程序。
我尝试了类似的方法(以及许多替代方法):
在这种情况下,容器 A 和 B 看不到他们的文件夹。
1 个应用程序容器单独与 dataContainer 一起工作。但是同一时间的 2 个应用容器永远不会起作用..
任何想法 ?
谢谢。
ubuntu - Docker - 无法在现有文件上挂载卷,文件存在
我正在尝试在 Docker 中为我的应用程序构建一个数据容器。我运行这个命令来公开一些卷:
问题是我从这个命令中得到这个错误:
如果我正确理解 Docker 文档。支持为单个文件创建卷。所以我不明白为什么我会收到这个错误。
有人可以向我解释这个吗?我在 Ubuntu 14.04 上运行 Docker 1.9.1。
docker - Docker - 将容器目录暴露给主机目录而不掩盖原始内容
我对 Docker 还是比较陌生,所以我还没有完全弄清楚所有的细微差别,如果这已经在其他地方得到解决,请原谅我。
我想在容器和主机之间共享文件。
到目前为止,我一直在使用卷,并将特定的主机目录挂载到容器目录中——但这会带来一个问题,如果主机目录被弄乱了,这些更改也会出现在容器中。
我遇到的另一个问题是,如果主机目录是空的,并且挂载到容器上预先存在的目录中,那么目录的内容就会变得不可见。我确实理解这种行为与安装一致,所以我知道这在技术上不是问题。
但我想知道是否可以设置一个卷或替代解决方案,即:
- 首先不能在主机端编辑,
- 其次允许主机目录内容与容器目录合并?
docker - Docker 卷——来自空白,来自网络共享
我有两个容器,一个设置为数据卷,我可以进入数据容器内部并浏览从网络共享挂载的文件,而不会出现任何问题。
当我转到带有已安装卷的文件夹时,在第二个 docker 实例上,该文件夹存在,但所有应该存在的文件和目录都不可见。
这曾经有效,所以我只能假设它是由于 docker 1.9 我在 linux 和 mac 机器上看到的。
关于原因的任何想法?这是一个错误还是我可以调查的其他问题?
检查的输出。
文件以这种方式安装在docker文件中
然后当容器启动时它运行。
java - 如何使用 Java 8 在 docker 容器卷中写入 CSV 文件?
我正在为 docker 和文件系统而苦苦挣扎。我想从我的 Java 应用程序的 docker 卷中写入一个文件。主要目标是在同一台机器上运行的另一个应用程序可以读取该文件。
我阅读了相关问题,但没有找到任何使用 java 应用程序解决此问题的答案。关于如何做到这一点的任何想法?
mysql - Docker - 无法启动 mysql 权限错误
我对 docker 和 mysql 有问题。我已经基于phusion/baseimage构建了一个图像。我想创建 /var/lib/mysql 目录与我的主机(OS X)共享的图像,因为我不想将我的数据存储在容器上。
当目录 /var/lib/mysql 未共享时,一切正常。当我共享这个目录时,mysql服务无法启动。日志中包含有关启动时权限问题的信息。
/var/lib中ls -la的结果是:
mysql用户应该是所有者。我试着做:
但是这个命令没有返回任何错误,也没有改变所有者。
我还尝试将我的用户(从容器)添加到 mysql 组:
但它也没有奏效。有人知道如何解决这个问题吗?
我的 docker-compose.yml 文件:
这是我的 Dockerfile: