简单 Docker 项目/处理并保存 JPEG - 使用卷?

Simple Docker Project / Process and Save JPEG - Use Volume?

我正在学习 Docker。而且我并没有真正掌握 docker 卷的窍门。 所以我设置了一个简单的任务让我理解它:

我用 python 脚本创建了一个 Container 来调整 JPEG

例如:

from PIL import Image

from resizeimage import resizeimage


with open('test-image.jpeg', 'r+b') as f:
    with Image.open(f) as image:
        cover = resizeimage.resize_cover(image, [200, 100])
        cover.save('test-image-cover.jpeg', image.format)

输入文件放在哪里? 我应该创建一个 Volume 还是一个 Bind Mount 并将 JPEG 文件放在那里?

Im 运行 Docker 在虚拟机上(Win 10 上的标准 Docker 工具箱安装)我在哪里可以找到卷上调整大小的文件?

现在我真的不在乎文件是否被覆盖,如果应用程序在服务器上 运行 并且两个用户同时使用容器。

在容器中使用python脚本运行输入/处理/输出文件的最简单方法是什么?

最简单的方法是针对本地路径使用卷:

  • 创建本地路径/tmp/myfiles
  • 将测试图像放入 /tmp/myfiles
  • 确保你的脚本获取绝对路径with open('/tmp/myfilesdocker/test-image.jpeg', 'r+b') as f:
  • 运行 容器 docker run -v /tmp/myfiles:/tmp/myfilesdocker python

这是最简单的一卷。您的本地路径 /tmp/myfiles 是针对容器 /tmp/myfilesdocker 路径安装的。您也可以在此路径中创建调整大小的图像。

达到 hello world 目的的最简单方法。