问题标签 [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 容器在 swarm 中使用 docker-compose
这是我的码头工人撰写文件
当我在单节点中时,这个 docker compose 文件有效。移至 docker swarm 后。它不工作。它抛出以下错误
所以问题是
如何将文件共享到 swarm 集群?
还是需要将所有文件复制到图像中并运行它?
请与 swarm 分享一些 docker volume 的文档。
docker - Docker:将数据从主机复制到挂载的主机目录以从正在运行的容器中访问它
我有一个正在运行的容器,其中一个卷安装到本地主机目录:
如果我想从主机向容器提供数据(例如,一个大的 postgres 转储),直接将文件从主机写入主机目录是否安全
?
快速测试表明这是有效的(即,如果我 exec bash 进入容器并检查,文件就在那里),但数据一致性是否安全?
笔记:
我知道也可以使用
但在我的具体情况下,当从 Ceph (rbd) 挂载卷时,这不起作用。
docker - Docker:从其他 docker 服务(不是容器)安装卷
我有两台主机在每台主机上运行 docker 服务。
来自主机 A 的容器想要使用从主机 B 创建的卷。
这可能吗?
docker - 为什么 docker volume create 和 rm 不对称?
Docker 卷创建的工作方式如下:
Docker 卷删除的工作方式如下:
那么为什么docker volume create
需要这个--name
参数呢?
deployment - 无法将所有文件挂载到 docker 容器卷
我总是使用 docker 来部署我的 django 应用程序,但今天我遇到了问题。
这是uwsgi
docker-compose.yml 文件中的容器。
一切正常,但我需要挂载一个包含这么多缩略图文件的目录。尺寸相当大。
我将此行添加/EOSHARE/Karabo/CATALOGUE/thumbnails_cat3:/django_project/thumbs_out
到volumes
行中。然后我重新部署容器。
问题是无法挂载本地目录中的某些文件/目录。我不确定,这是我第一次需要挂载大尺寸目录的经验。
这是我的分析:
这是ls
目录:
本地目录:
码头集装箱:
码头集装箱尺寸:
容器内部:
我一直在寻找有关 docker 容器最大大小的答案,我也尝试创建一个卷(docker 卷),然后将目录挂载到该卷,结果是相同的。并非所有目录都可以挂载。
我的问题是:
- 码头集装箱是否有任何最大尺寸,如果有,它是多少以及如何增加它?
- 有了这个问题,有没有最好的方法将大目录挂载到 docker 容器?
- 的输出
docker ps -s
显示大约 GB 的虚拟大小,但是当我执行到容器时df -h
,T 中的输出 -> 请参见上面的输出151T 134T
。
谢谢。
php - 重建后文件更改未反映在 Docker 映像中
我正在尝试为我的 PHP Web 应用程序(php-fcm)设置两个由 NGINX 反向代理的 Docker 映像。理想情况下,我希望将 Web 应用程序的所有文件复制到基于 php-fcm 的图像中并作为一个卷公开。这样,两个容器(Web 和应用程序)都可以使用 NGINX 访问文件,为静态文件提供服务,而 php-fcm 解释 php 文件。
码头工人-compose.yml
Dockerfile:
上述设置按预期工作。但是,当我对文件进行任何更改然后执行
新文件不会出现在生成的图像中。尽管有以下消息表明该映像确实正在重建:
只有删除所有旧图像才能解决问题。
知道是什么原因造成的吗?
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 解决方案会更优雅。但我想创建一个不了解环境的备份脚本。
我可以使用什么策略?
docker - Dockerfile 卷不工作
我真的被 docker VOLUME 的使用所困扰。我有一个普通的 dockerfile:
我跑了$ docker build -f dockerfile -t test .
,它成功了。在此之后,我以交互方式将 shell 运行到与运行创建的test
映像相关联的 docker 容器中。也就是说,我跑了$ docker run -it test
观察:
/foo/bar
已创建但为空。
docker inspect test
安装信息:
似乎它根本没有安装。任务看起来很简单,但我做错了吗?
编辑:我希望保留在这个挂载的卷目录中创建的数据。
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
docker - 在构建期间复制 docker 映像内的文件
我想构建一个基于dockerage/apache-mellon的 docker 镜像,它的卷在/var/www
. 当我在临时目录中构建 Web 应用程序时,我想在 docker 容器中构建我的 Web 应用程序,然后/var/www
使用 Dockerfile 中的以下命令将文件复制到:
docker 构建过程完成且没有任何错误,但文件不会被复制到/var/www
. 有没有办法将文件复制到在构建期间声明为 docker 卷的位置?