我的docker文件如下:
#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按预期成功运行,但是之后我得到了错误:
RUN appmanage.py appconfig
The command '/bin/sh -c appmanage.py appconfig ' returned a non-zero code: 137
当我用谷歌搜索错误时,我得到诸如内存不足的建议。但是我已经证实,系统(中心)有足够的内存。
执行期间的命令行输出RUN appmanage.py appconfig为:
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 check identified no issues (0 silenced).。
RUN appmanage.py appconfig appAdd.json
System check identified no issues (0 silenced).
此外,命令“坚持执行”杀死自己并返回退出代码137。此操作的最小更改是将您更新Dockerfile为
Dockerfile
... #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 ...
这只会强行忽略上一个命令的返回退出代码并继续构建。