amazon-web-services - docker 不创建文件
问题描述
我是 Docker 新手。
我想将 cv2 上传到 AWS lambda 函数,所以我关注了https://itnext.io/create-a-highly-scalable-image-processing-service-on-aws-lambda-and-api-gateway-in -10 分钟 7cbb2893a479
我正在尝试通过运行为 OpenCV 生成一个支持 Lambda 的 Python 包
docker run --rm -v $(pwd):/package tiivik/lambdazipper opencv-python
也就是说,我假设应该在当前工作目录中创建opencv-python.zip 。这样我就可以将它上传到 lambda 层。
但是,当我运行命令时,会发生下载/拉取,但它不会创建任何东西。我尝试过其他类似的教程,但它们都没有创建任何东西。
这有什么问题?
我有 Windows 10 专业版。所以,我有 Docker Desktop,我正在使用 WSL 2
解决方案
首先检查$(pwd)
当前 Windows 10 shell 会话中的 docker 命令是否正确解释。
如此处所见,从常规 CMD 会话中,改为尝试:
docker run --rm -v %cd%:/package tiivik/lambdazipper opencv-python
在 WSL2 bash 会话中,也可以尝试
docker run --rm -v $PWD:/package tiivik/lambdazipper opencv-python
尽管阅读了此线程:如“为 Windows 和 WSL 设置 Docker 以完美工作”中所述,您可能需要修改您的wsl.conf
sudo nano /etc/wsl.conf
# Now make it look like this and save the file when you're done:
[automount]
root = /
options = "metadata"
这是:
- 码头运行
- 带有
--rm
清理选项以删除瞬态容器 - 和一个
-v
卷选项,以便将主机上的文件或目录绑定到容器中。 - 以及传递给Dockerfile定义的
tiivik/lambdazipper
ENTRYPOINT的参数,即package.sh
优点:您不必在 Windows 上安装 python3(package.sh
脚本需要)。所有执行环境及其依赖项都已安装在映像中。tiivik/lambdazipper
推荐阅读
- ios - 我想在 getPicture - ionic ios 的警报中更改“您的使用信息”的文本
- npm - 如何为现有的 Lerna mono-repo 生成每个包的 package-lock.json
- react-native - ReactNative:顶部的应用程序名称
- google-sheets - “间接”Excel 功能无法在 Google 表格上按预期工作
- gitlab - 有人能够使用 terraform 为 repo 启用现有的部署密钥吗?
- oracle-apex-5.1 - Oracle APEX 区域宽度
- javascript - 如何访问此类属性?
- php - 如何使用 gmail API 发送大附件
- image - 黑白图像的 1 位 RLE(运行长度编码)
- r - 递归 R 包安装失败