我有一个docker php容器,我需要连接到mysql容器,为了这样做,我使用以下docker文件来构建合适的图像:
FROM php:7-fpm
ADD /build /build
ADD /config /config
RUN docker-php-ext-install mysqli
我编写了一个python脚本来自动化构建和运行容器的过程,特别是它执行这些函数来构建php容器图像:
import docker
client = docker.from_env()
php_image = client.images.build(path="./php-docker/",tag="bjaniston/php-container",rm=True)
直到最近,这个工作完全正常,但现在已经开始失败并出现以下错误:
Traceback (most recent call last):
File "docker_setup.py", line 3, in <module>
php_image = client.images.build(path="./php-docker/",tag="bjaniston/php-container",rm=True)
File "/usr/local/lib/python3.4/dist-packages/docker/models/images.py", line 172, in build
raise BuildError(chunk['error'])
docker.errors.BuildError: The command '/bin/sh -c docker-php-ext-install mysqli' returned a non-zero code: 2
我不确定会导致此错误的原因,自上次成功构建此映像以来,我没有修改过docker文件。
答案 0 :(得分:0)
在终端docker中手动运行build命令后,出现了一个不同的错误,说该设备空间不足,浏览了docker论坛以破译我在这个页面上偶然发现的错误: https://forums.docker.com/t/where-does-docker-keep-images-containers-so-i-can-better-track-my-disk-usage/8370/9
运行下面的shell命令解决了我的问题(请记住这会从主机中删除所有已命名的卷):
docker volume rm $(docker volume ls -q )
来自docker python API的原始错误似乎非常不透明,并且几乎不知道问题的原因。