linux - 指定 Docker 在 Linux VM 上存储/放置文件的位置
问题描述
对 Docker 来说相对较新,因此试图了解如何完成我的任务。
在本地,我:
- 构建镜像
- 将图像推送到某个 URL
- SSH 进入 Linux 虚拟机
docker pull
图片来自网址docker run image_name
此图像在运行时会下载 2 个相当大的 csv.gz。解压后,这两个 CSV 文件分别约为 15GB。
我在 Linux VM 上设置了/app
200GB 可用空间。所以,简而言之,我需要让 Docker 映像下载那 2 个 CSV。但是,无论我在我的内部尝试了什么Dockerfile
,我都看到了
当它到达下载 CSV 的部分时,“设备上没有剩余空间”。
我试图设置WORKDIR
为/app
,但这无济于事。
我需要使用daemon.json
文件吗?是否需要在 Linux VM 上更改某种 Docker 设置?我需要查看 Docker 卷吗?
Dockerfile 的相关部分:
FROM centos/python-36-centos7
USER root
WORKDIR /usr/src/app
COPY . .
至于/usr/src/app
,我从来没有在那里看到过任何东西。我通常使用/usr/src/app
它,因为那是我用于 Cloud Foundry 部署的东西。
任何能指出我正确方向的见解都将不胜感激。
解决方案
执行以下操作解决了该问题:
创建(如果 daemon.json 不存在):/etc/docker/daemon.json
和写
{
“data-root”: “/app”
}
看起来默认情况下一切都转到/var
,在我的情况下,/var
只有 4GB 的空间。/app
是 200GB 所在的位置。
创建/保存 daemon.json 时,您必须重新启动 docker 服务。
引用了这个答案:获得 88 票赞成的那个
推荐阅读
- postgresql - 在 Amazon RDS (Postgres) 中查找未使用的表
- owin - 在 Web 窗体项目中发生挑战时,不会重定向到 SingleSignOnService 位置
- java - JMH - 为什么 JIT 不能消除我的死代码
- ios - 来自 webViewKit 按钮的用户权限单击
- android - 如何在 node.js 中使用套接字,以便使用 html 文件显式地分别响应客户端和管理员?
- package - 无法安装 twilio.AspNet mvc 包
- delphi - 任务栏上的图标不会移动到第二台显示器
- c# - 使用 pfx 文件加载证书
- json - 我如何将我的课程编码为 json 以将 http put 发送到 firebase
- r - 用于 mutate 的矢量化线性插值函数