Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker中运行时出现Django分段错误_Django_Docker - Fatal编程技术网

在docker中运行时出现Django分段错误

在docker中运行时出现Django分段错误,django,docker,Django,Docker,在docker中运行应用程序时出现分段错误 /path/condapy/envs/env_name/bin/python -vvvvvv manage.py runserver # code object from '/path/condapy/envs/env_name/lib/python3.6/site-packages/django/core/__pycache__/wsgi.cpython-36.pyc' import 'django.core.wsgi' # <_froz

在docker中运行应用程序时出现分段错误

/path/condapy/envs/env_name/bin/python -vvvvvv manage.py runserver


# code object from 
'/path/condapy/envs/env_name/lib/python3.6/site-packages/django/core/__pycache__/wsgi.cpython-36.pyc'
import 'django.core.wsgi' # <_frozen_importlib_external.SourceFileLoader object at 0x7f1919dd5a90>
import 'django.core.servers.basehttp' # <_frozen_importlib_external.SourceFileLoader object at 0x7f1919dca240>
import 'django.core.management.commands.runserver' # <_frozen_importlib_external.SourceFileLoader object at 0x7f1919dbf630>
import 'django.contrib.staticfiles.management.commands.runserver' # <_frozen_importlib_external.SourceFileLoader object at 0x7f1919db34a8>
PyThreadState_Clear: warning: thread still has a frame
Running in local mode
Performing system checks...

Segmentation fault
/path/condapy/envs/env_name/bin/python-vv manage.py runserver
#代码对象来自
“/path/condapy/envs/env_name/lib/python3.6/site packages/django/core/_-pycache__/wsgi.cpython-36.pyc”
导入'django.core.wsgi'#
导入'django.core.servers.basehttp'#
导入'django.core.management.commands.runserver'#
导入'django.contrib.staticfiles.management.commands.runserver'#
PyThreadState\u Clear:警告:线程仍有一个帧
在本地模式下运行
正在执行系统检查。。。
分段故障
Dockerfile

FROM centos:latest

ENV JAVA_VERSON=1.8.0 \
    JAVA_HOME=/usr/lib/jvm/java \
    codepath=<>

RUN yum install -y epel-release cmake wget git python-setuptools zlib-devel openssl-devel python-devel gcc-c++ snappy-devel gcc curl bzip2 java-$JAVA_VERSON-openjdk java-$JAVA_VERSON-openjdk-devel && \
    yum install -y nginx && \
    easy_install supervisor && \
    yum clean all && \
    rm -rf /etc/localtime && \
    ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtime && \
    mkdir -p  /logs 

RUN mkdir -p /path/condapy && \
    curl -sSL https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -o /srv/miniconda.sh && \
    bash /srv/miniconda.sh -bfp /path/condapy && \
    /path/condapy/bin/conda install -y python=3 && \
    /path/condapy/bin/conda update conda && \
    /path/condapy/bin/conda clean --all --yes

EXPOSE 80

WORKDIR /app_path

ARG aws_access_key_id
ARG aws_secret_access_key
ARG env

COPY ./conda_environment.yml /app_path/conda_environment.yml

RUN /path/condapy/bin/conda config --add channels conda-forge && \
    /path/condapy/bin/conda env create -f=/app_path/conda_environment.yml -n chatty && \
    rm -rf /opt/conda/pkgs/*

COPY ./ $codepath

CMD ["/usr/bin/supervisord", "-n"]
来自centos的
最新版本
ENV JAVA_VERSON=1.8.0\
JAVA_HOME=/usr/lib/jvm/JAVA\
码路=
运行yum install-y epel release cmake wget git python setuptools zlib devel openssl devel python devel gcc-c++snapy devel gcc curl bzip2 java-$java_VERSON-openjdk java-$java_VERSON-openjdk-devel&&\
yum安装-y nginx&&\
轻松安装管理器和\
百胜清洁所有&&\
rm-rf/etc/localtime&&\
ln-s/usr/share/zoneinfo/Asia/Kolkata/etc/localtime&&\
mkdir-p/log
运行mkdir-p/path/condapy&&\
curl-sSLhttps://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -o/srv/miniconda.sh和\
bash/srv/miniconda.sh-bfp/path/condapy&&\
/path/condapy/bin/conda安装-y python=3&&\
/路径/condapy/bin/conda更新conda&&\
/path/condapy/bin/conda clean--all--yes
暴露80
WORKDIR/app_路径
参数aws\u访问\u密钥\u id
参数aws\u密码\u访问\u密钥
精氨酸环境
复制./conda_environment.yml/app_path/conda_environment.yml
运行/path/condapy/bin/conda config——添加通道conda forge&&\
/path/condapy/bin/conda env create-f=/app_path/conda_environment.yml-n chatty&&\
rm-rf/opt/conda/pkgs/*
复制。/$codepath
CMD[“/usr/bin/supervisord”,“-n”]

数据库配置看起来不错,我们已经分配了足够的内存。有什么建议吗?

在构建docker映像时安装python。请尝试使用预先安装的python从centos映像构建映像,或从多个基本映像构建映像(docker自17.05起就支持此功能)

您的Dockerfile将变成如下所示:

# Include Base image with preinstalled python 
######
FROM centos/python-35-centos7
pip install ...
######

ENV JAVA_VERSON=1.8.0 \
JAVA_HOME=/usr/lib/jvm/java \
codepath=<>
......
#使用预安装的python包含基本映像
######
来自centos/python-35-centos7
pip安装。。。
######
ENV JAVA_VERSON=1.8.0\
JAVA_HOME=/usr/lib/jvm/JAVA\
码路=
......

您可以发布dockerfile吗?不要将您的映像建立在Alpine Linux上。@BurhanKhalid its基于centos:Latest使用您的dockerfile更新问题,如@deosha所述。@deosha done。这是dockerfile的精简版,但应该足够好了。这看起来很有趣。我会为django应用程序和您的核心JAVA应用程序开发单独的docker映像。您可以通过RESTAPI(例如)将它们连接在一起,并通过docker Composet进行部署。问题是因为库使用不同版本的gcc编译器。谢谢你的帮助。