我是Docker的新手。
我想将cv2上传到AWS lambda函数,所以我一直关注https://itnext.io/create-a-highly-scalable-image-processing-service-on-aws-lambda-and-api-gateway-in-10-minutes-7cbb2893a479
我正在尝试通过运行为OpenCV生成Lambda就绪的Python包
docker run --rm -v $(pwd):/package tiivik/lambdazipper opencv-python
我假设应该在当前工作目录中创建 opencv-python.zip 。这样我就可以将其上传到lambda层。
但是,当我运行命令时,会进行下载/拉动,但不会创建任何东西。我尝试过其他类似的教程,但是没有一个会创建任何东西。
这是怎么了?
我有Windows 10 Pro。所以,我有Docker Desktop并且正在使用WSL 2
答案 0 :(得分:1)
首先检查当前Windows 10 Shell会话中的docker命令是否正确解释了$(pwd)
。
以seen here的身份从常规CMD会话尝试尝试:
docker run --rm -v %cd%:/package tiivik/lambdazipper opencv-python
在WSL2 bash会话中,也尝试
docker run --rm -v $PWD:/package tiivik/lambdazipper opencv-python
尽管read this thread:如“ Setting Up Docker for Windows and WSL to Work Flawlessly”中所述,您可能需要修改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
cleanup option删除临时容器-v
volume option,以便将主机上的文件或目录bind mount放入容器中。tiivik/lambdazipper
Dockerfile的参数package.sh
优点:您无需在Windows python3上安装(package.sh
脚本需要)。所有执行环境及其依赖项都已安装在tiivik/lambdazipper
image中。