问题标签 [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 回答
2852 浏览

docker - 如何将本地文件共享到 docker 容器在 swarm 中使用 docker-compose

这是我的码头工人撰写文件

当我在单节点中时,这个 docker compose 文件有效。移至 docker swarm 后。它不工作。它抛出以下错误

所以问题是

  1. 如何将文件共享到 swarm 集群?

  2. 还是需要将所有文件复制到图像中并运行它?

  3. 请与 swarm 分享一些 docker volume 的文档。

0 投票
1 回答
904 浏览

docker - Docker:将数据从主机复制到挂载的主机目录以从正在运行的容器中访问它

我有一个正在运行的容器,其中一个卷安装到本地主机目录:

如果我想从主机向容器提供数据(例如,一个大的 postgres 转储),直接将文件从主机写入主机目录是否安全

?

快速测试表明这是有效的(即,如果我 exec bash 进入容器并检查,文件就在那里),但数据一致性是否安全?

笔记:

我知道也可以使用

但在我的具体情况下,当从 Ceph (rbd) 挂载卷时,这不起作用。

0 投票
1 回答
433 浏览

docker - Docker:从其他 docker 服务(不是容器)安装卷

我有两台主机在每台主机上运行 docker 服务。

来自主机 A 的容器想要使用从主机 B 创建的卷。

这可能吗?

0 投票
1 回答
93 浏览

docker - 为什么 docker volume create 和 rm 不对称?

Docker 卷创建的工作方式如下:

Docker 卷删除的工作方式如下:

那么为什么docker volume create需要这个--name参数呢?

0 投票
0 回答
201 浏览

deployment - 无法将所有文件挂载到 docker 容器卷

我总是使用 docker 来部署我的 django 应用程序,但今天我遇到了问题。

这是uwsgidocker-compose.yml 文件中的容器。

一切正常,但我需要挂载一个包含这么多缩略图文件的目录。尺寸相当大。

我将此行添加/EOSHARE/Karabo/CATALOGUE/thumbnails_cat3:/django_project/thumbs_out volumes行中。然后我重新部署容器。

问题是无法挂载本地目录中的某些文件/目录。我不确定,这是我第一次需要挂载大尺寸目录的经验。

这是我的分析:

这是ls目录:

本地目录:

码头集装箱:

码头集装箱尺寸:

容器内部:

我一直在寻找有关 docker 容器最大大小的答案,我也尝试创建一个卷(docker 卷),然后将目录挂载到该卷,结果是相同的。并非所有目录都可以挂载。

我的问题是:

  1. 码头集装箱是否有任何最大尺寸,如果有,它是多少以及如何增加它?
  2. 有了这个问题,有没有最好的方法将大目录挂载到 docker 容器?
  3. 的输出docker ps -s显示大约 GB 的虚拟大小,但是当我执行到容器时df -h,T 中的输出 -> 请参见上面的输出151T 134T

谢谢。

0 投票
2 回答
6335 浏览

php - 重建后文件更改未反映在 Docker 映像中

我正在尝试为我的 PHP Web 应用程序(php-fcm)设置两个由 NGINX 反向代理的 Docker 映像。理想情况下,我希望将 Web 应用程序的所有文件复制到基于 php-fcm 的图像中并作为一个卷公开。这样,两个容器(Web 和应用程序)都可以使用 NGINX 访问文件,为静态文件提供服务,而 php-fcm 解释 php 文件。

码头工人-compose.yml

Dockerfile:

上述设置按预期工作。但是,当我对文件进行任何更改然后执行

新文件不会出现在生成的图像中。尽管有以下消息表明该映像确实正在重建:

只有删除所有旧图像才能解决问题。

知道是什么原因造成的吗?

0 投票
0 回答
354 浏览

postgresql - 如何恢复我的 postgresql docker 卷?

我使用 docker-compose 来启动我的应用程序。一个容器使用 postgresql。

我创建了一个在tar.gz文件中备份容器卷的脚本。

备份.tar.gz

如果我检查我的卷中的文件没有 old.txt

我尝试停止我的容器 ( docker-compose stop db),解压缩/var/lib/docker/volumes/application_postgresql/_data并重新启动我的容器 ( docker-compose restart db)。但它似乎没有用。

文件看起来不错

但我的容器不想启动

如何恢复我的 postgresql 卷?

我知道使用 pgdump 解决方案会更优雅。但我想创建一个不了解环境的备份脚本。

我可以使用什么策略?

0 投票
1 回答
11206 浏览

docker - Dockerfile 卷不工作

我真的被 docker VOLUME 的使用所困扰。我有一个普通的 dockerfile:

我跑了$ docker build -f dockerfile -t test .,它成功了。在此之后,我以交互方式将 shell 运行到与运行创建的test映像相关联的 docker 容器中。也就是说,我跑了$ docker run -it test

观察:

/foo/bar已创建但为

docker inspect test安装信息:

似乎它根本没有安装。任务看起来很简单,但我做错了吗?

编辑:我希望保留在这个挂载的卷目录中创建的数据。

0 投票
4 回答
7704 浏览

docker - Docker-compose 卷不复制任何文件

我在 Fedora 23 中,我正在使用 docker-compose 构建两个容器:app 和 db。我想使用那个 docker 作为我的开发环境,但是每次我更改代码时都必须执行 docker-compose build 和 up 并不好。所以我在搜索并尝试了“volumes”选项,但我的代码没有被复制到 docker。

当我运行 docker-build 时,“RUN ls”命令不会列出“app”文件夹或其任何文件。

Obs .:在我的根文件夹中:docker-compose.yml,.gitignore,app(文件夹),db(文件夹)

Obs¹ .: 如果我删除 volumes 和 working_dir 选项,而是在 app/Dockerfile 中使用“COPY ./app”命令,它可以工作并且我的应用程序正在运行,但我希望它同步我的代码。

有谁知道如何使它工作?

我的 docker-compose 文件是:

在这里你可以看到我的应用容器 Dockerfile: https ://gist.github.com/jradesenv/d3b5c09f2fcf3a41f392d665e4ca0fb9

下面是 Dockerfile 中 RUN ls 命令的输出:

bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

0 投票
1 回答
7422 浏览

docker - 在构建期间复制 docker 映像内的文件

我想构建一个基于dockerage/apache-mellon的 docker 镜像,它的卷在/var/www. 当我在临时目录中构建 Web 应用程序时,我想在 docker 容器中构建我的 Web 应用程序,然后/var/www使用 Dockerfile 中的以下命令将文件复制到:

docker 构建过程完成且没有任何错误,但文件不会被复制到/var/www. 有没有办法将文件复制到在构建期间声明为 docker 卷的位置?