Python 皮普在Docker被杀
我正在基于Python 皮普在Docker被杀,python,macos,docker,pip,out-of-memory,Python,Macos,Docker,Pip,Out Of Memory,我正在基于python:3.7-slim-stretch(同样的问题也发生在python:3.7-slim-stretch)构建一个Docker容器,并且它在 pip install --no-cache-dir --verbose /wheels/* 我的Mac(OSX 10.15.7)有64Gb的RAM和大量的磁盘空间,所以我不知道为什么它会被杀掉。我怎么知道?(我看到一个检查/var/log/messages…但它不存在的建议…)然后,我能做些什么 (另外,有趣的是,最初的pip轮工作得
python:3.7-slim-stretch
(同样的问题也发生在python:3.7-slim-stretch
)构建一个Docker容器,并且它在
pip install --no-cache-dir --verbose /wheels/*
我的Mac(OSX 10.15.7)有64Gb的RAM和大量的磁盘空间,所以我不知道为什么它会被杀掉。我怎么知道?(我看到一个检查/var/log/messages
…但它不存在的建议…)然后,我能做些什么
(另外,有趣的是,最初的pip轮
工作得非常好。)
以防万一,这里是Dockerfile
:
###########
# BUILDER #
###########
FROM python:3.7-slim-stretch as builder
WORKDIR /usr/src/app
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1
RUN apt update \
&& apt install -y build-essential mecab
COPY ./requirements.txt .
RUN pip install --upgrade pip \
&& pip wheel --no-cache-dir --no-deps --wheel-dir /usr/src/app/wheels -r requirements.txt
#########
# FINAL #
#########
FROM python:3.7-slim-stretch
ENV HOME=/home/app APP_HOME=/home/app/web
RUN mkdir -p /home/app $APP_HOME \
&& addgroup --system app \
&& adduser --system --ingroup app app
WORKDIR $APP_HOME
COPY --chown=app:app --from=builder /usr/src/app/wheels /wheels
COPY --chown=app:app --from=builder /usr/src/app/requirements.txt .
RUN pip install --verbose --no-cache-dir /wheels/*
COPY --chown=app:app . $APP_HOME
USER app
ENTRYPOINT ["/home/app/web/entrypoint.sh"]
和requirements.txt
:
aiofiles==0.6.0
alabaster==0.7.12
allennlp==0.9.0
attrs==20.3.0
Babel==2.9.0
blinker==1.4
blis==0.2.4
boto3==1.17.10
botocore==1.20.10
cached-property==1.5.2
certifi==2020.12.5
chardet==4.0.0
click==7.1.2
conllu==1.3.1
cycler==0.10.0
cymem==2.0.5
dataclasses==0.6
docutils==0.16
editdistance==0.5.3
filelock==3.0.12
flaky==3.7.0
Flask==1.1.2
Flask-Cors==3.0.10
ftfy==5.9
gevent==21.1.2
greenlet==1.0.0
h11==0.12.0
h2==4.0.0
h5py==3.1.0
hpack==4.0.0
Hypercorn==0.11.2
hyperframe==6.0.0
idna==2.10
imagesize==1.2.0
importlib-metadata==3.4.0
iniconfig==1.1.1
isort==4.3.21
itsdangerous==1.1.0
Jinja2==2.11.3
jmespath==0.10.0
joblib==1.0.1
jsonnet==0.17.0
jsonpickle==2.0.0
kiwisolver==1.3.1
MarkupSafe==1.1.1
matplotlib==3.3.4
mecab-python3==0.996.5
mojimoji==0.0.11
murmurhash==1.0.5
nltk==3.5
numpy==1.20.1
numpydoc==1.1.0
overrides==3.1.0
packaging==20.9
parsimonious==0.8.1
Pillow==8.1.0
plac==0.9.6
pluggy==0.13.1
preshed==2.0.1
priority==1.3.0
protobuf==3.14.0
py==1.10.0
Pygments==2.8.0
pyparsing==2.4.7
pytest==6.2.2
python-dateutil==2.8.1
pytorch-pretrained-bert==0.6.2
pytorch-transformers==1.1.0
pytz==2021.1
Quart==0.14.1
regex==2020.11.13
requests==2.25.1
responses==0.12.1
s3transfer==0.3.4
sacremoses==0.0.43
scikit-learn==0.24.1
scipy==1.6.1
sentencepiece==0.1.95
six==1.15.0
snowballstemmer==2.1.0
spacy==2.1.9
Sphinx==3.5.1
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==1.0.3
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.4
sqlparse==0.4.1
srsly==1.0.5
tensorboardX==2.1
thinc==7.0.8
threadpoolctl==2.1.0
tokenizers==0.8.1rc1
toml==0.10.2
torch==1.7.1
tqdm==4.57.0
transformers==3.0.2
typing-extensions==3.7.4.3
Unidecode==1.2.0
urllib3==1.26.3
wasabi==0.8.2
wcwidth==0.2.5
Werkzeug==1.0.1
word2number==1.1
wsproto==1.0.0
zipp==3.4.0
zope.event==4.5.0
zope.interface==5.2.0
当我的docker容器在WSL中内存不足时,我在Windows上也会遇到类似的情况。我认为Mac的设置不同,但这里似乎有关于Mac桌面Docker的VM RAM/磁盘大小/交换文件设置的信息:
您可以发布docker统计数据输出吗?如果你的容器不允许使用,你的Mac有多少内存就不重要了。尝试将限制增加到尽可能多,看看会发生什么。是的,可能很明显,但如果没有,您可能希望检查您的容器RAM/磁盘设置:。在Windows上,当我的容器内存用完时,它就这样被杀死了。对不起,我是Docker新手,所以你刚刚教了我关于Docker统计数据和限制的知识。稍后在谷歌上搜索一下,我试图搞乱docker compose build-m[size],我可以将其设置为低于默认的1.943GiB,但不能更高@xdhmoore提供了难题的关键部分——DockerForMac在其首选项中具有全局限制,提高它是有效的。如果你想提交,奖金是你的。这不太可能与你的内存问题有关,但请注意,如果你使用requirements.txt中的版本,你不需要使用apt安装MeCab-事实上,你通过apt安装的版本将被忽略。我还建议升级到最新版本。(如果你正在构建一个可能消耗大量内存并与之相关的neologd。)@polm23哦,谢谢。是的,似乎不需要。我记不太清楚了,但我想我是在摆弄不同的图像,并且在安装mecab-python3时遇到了问题,所以它被作为过去尝试的遗迹遗留下来了。