Docker:该命令返回一个非零代码:137
问题描述
我的docker文件如下:
My docker file is as follows:
#Use python 3.6 image
FROM python:3.6
ENV PYTHONUNBUFFERED 1
#install required packages
RUN apt-get update
RUN apt-get install libsasl2-dev libldap2-dev libssl-dev python3-dev psmisc -y
#install a pip package
#Note: This pip package has a completely configured django project in it
RUN pip install <pip-package>
#Run a script
#Note: Here appmanage.py is a file inside the pip installed location(site-packages), but it will be accessible directly without cd to the folder
RUN appmanage.py appconfig appadd.json
#The <pip-packge> installed comes with a built in django package, so running it with following CMD
#Note: Here manage.py is present inside the pip package folder but it is accesible directly
CMD ["manage.py","runserver","0.0.0.0:8000"]
当我跑步时:
sudo docker build -t test-app .
dockerfile 中的步骤直到: RUN appmanage.py appconfig
按预期成功运行,但之后出现错误:
The steps in dockerfile till: RUN appmanage.py appconfig
runs sucessfully as expected but after that i get the error:
The command '/bin/sh -c appmanage.py appconfig ' returned a non-zero code: 137
当我在谷歌上搜索错误时,我得到的建议是内存不足.但我已经验证,系统(centos)有足够的内存.
When i google for the error i get suggestions like memory is not sufficient. But i have verified, the system(centos) is having enough memory.
RUN appmanage.py appconfig
执行时的命令行输出为:
The commandline output during the execution of RUN appmanage.py appconfig
is :
Step 7/8 : RUN appmanage.py appconfig
---> Running in 23cffaacc81f
======================================================================================
configuring katana apps...
Please do not quit (or) kill the server manually, wait until the server closes itself...!
======================================================================================
Performing system checks...
System check identified no issues (0 silenced).
February 08, 2020 - 12:01:45
Django version 2.1.2, using settings 'katana.wui.settings'
Starting development server at http://127.0.0.1:9999/
Quit the server with CONTROL-C.
9999/tcp:
20Killed
解决方案
如前所述,RUN appmanage.py appconfig appAdd.json
命令按预期运行成功,并报告System checkidentified没有问题(0 静音).
.
As described, the command RUN appmanage.py appconfig appAdd.json
run successfully as expected and reported that System check identified no issues (0 silenced).
.
此外,命令坚持"杀死自己并返回退出代码 137.要使其工作的最小更改是将您的 Dockerfile
更新为类似于
Moreover, the command "insisted" on killing itself and return exit code of 137. The minimum changes for this to work is to update your Dockerfile
to be like
...
#Run a script
#Note: Here appmanage.py is a file inside the pip installed location(site-packages), but it will be accessible directly without cd to the folder
RUN appmanage.py appconfig appAdd.json || true
...
这将强制忽略上一个命令的返回退出代码并继续构建.
This will just forcefully ignore the return exit code from the previous command and carry on the build.
相关文章