time="2017-10-27T07:39:20Z" level=error msg="Can't add file /var/app/current/app/content_classifier/forest.pickle to tar: io: read/write on closed pipe"
time="2017-10-27T07:39:20Z" level=error msg="Can't close tar writer: io: read/write on closed pipe"
Failed to build Docker image aws_beanstalk/staging-app: tar writer: io: read/write on closed pipe"
Error response from daemon: Untar error on re-exec cmd: fork/exec /proc/self/exe: cannot allocate memory. Check snapshot logs for details. (Executor::NonZeroExitStatus)
我在 django_app/content_classifer 对象中有一个 Pickle 对象。有一个类可以预测结果,它会在 celery 任务文件初始化时自行初始化。
docker build
在给出标题中的错误消息后一直失败。
如果您使用的是 Mac,请确保 docker desktop 正在运行
几分钟前我遇到了同样的问题,当时我发现了你的问题:) 我打开了一些文件=它们被另一个应用程序(GIT)使用
请确保没有文件被使用。
希望对您有所帮助。
我在 Ubuntu 中遇到了这个问题,
sudo service docker restart
修复了它
所面临的问题是因为生成 pickle 对象的进程分配了不同的用户,然后进程正在访问 pickle 对象。
我在设置文件中定义泡菜对象的位置。
picklefile = "usr/local/webapp/forest.pickle"
我只是在 Dockerfile 中添加了以下步骤。
RUN chown -R /user/local/webapp/
我有同样的问题。如果您使用 Docker 工具箱在 Windows 上使用 Docker,您应该首先运行Docker Quickstart Terminal,否则它将无法工作。希望这对某人有帮助!
这似乎是一个输入/输出错误,docker 无法访问它想要的文件。正如@Luk3rson 所建议的那样,确保这些文件未被任何其他应用程序使用。尝试调试
/var/log/
中的日志。愿它帮助你。
我在为远程 Docker 主机使用 Docker 上下文 时遇到了类似的错误。在我的本地机器 (Linux) 上恢复到 Docker 守护进程后,一切都恢复正常了。
对我来说,当我使用 WSL 2 运行它时,我只需将
sudo
添加到 docker 命令,一切都很好。
如果您使用的是 Mac,请重新启动您的 docker hub。 Docker 已经在运行,但重新启动它对我有用。
使用此命令授予权限
sudo chmod 666 /var/run/docker.sock