Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
Linux 错误:docker中存在不可满足的约束_Linux_Docker_Dependencies_Dockerfile_Miniconda - Fatal编程技术网

Linux 错误:docker中存在不可满足的约束

Linux 错误:docker中存在不可满足的约束,linux,docker,dependencies,dockerfile,miniconda,Linux,Docker,Dependencies,Dockerfile,Miniconda,我是新来的码头工人 我有两个问题 问题#1 我创建了这个基本的docker文件,它安装了Apache Airflow和Apache芹菜。但现在,我只想安装气流。我面临一个奇怪的问题,说不可满足的约束 我累了。我试过了,但没能解决这个问题。任何帮助都将不胜感激 FROM python:3.6-alpine WORKDIR /airflow RUN apk add git gcc python3-dev gpgme-dev libc-dev python-devel python-setupto

我是新来的码头工人

我有两个问题
问题#1
我创建了这个基本的docker文件,它安装了Apache AirflowApache芹菜。但现在,我只想安装气流。我面临一个奇怪的问题,说
不可满足的约束

我累了。我试过了,但没能解决这个问题。任何帮助都将不胜感激

FROM python:3.6-alpine
WORKDIR /airflow

RUN apk add git gcc python3-dev gpgme-dev libc-dev python-devel python-setuptools mysql-devel gcc-c++

COPY airflow/requirements.txt airflow/requirements.txt
RUN pip install -r airflow/requirements.txt
COPY . /airflow

EXPOSE 8080 5555

CMD ["airflow", "initdb"]

我有一个requirements.txt文件,其中包含Apache Airflow的依赖项

requirements.txt

pytz==2015.7
cryptography
requests
pyOpenSSL
ndg-httpsclient
pyasn1
psycopg2
celery>=4.0.0
flower>=0.7.3

Flask==1.1.1
requests==2.22.0
airflow==1.10.8
MySQL-python
flask_bcrypt
问题2


我们使用
conda库
image
continuMio/miniconda3
安装依赖项。这是一种很好的使用方法吗?

做了一些更改,下面是新的dockerfile:

FROM python:3.6-alpine
WORKDIR /airflow

RUN apk add build-base libffi-dev musl-dev postgresql-dev mariadb-connector-c-dev

COPY requirements.txt ./requirements.txt
RUN pip install -r requirements.txt
COPY . /airflow

EXPOSE 8080 5555

CMD ["airflow", "initdb"]
以及新的requirements.txt:

pytz==2015.7
cryptography
pyOpenSSL
ndg-httpsclient
pyasn1
psycopg2
celery>=4.0.0
flower>=0.7.3

Flask==1.1.1
requests==2.22.0
apache-airflow==1.10.8
mysqlclient
flask_bcrypt
更改摘要:

  • 您试图下载Alpine中不存在的软件包(它们看起来像debian软件包),我用
    apk add build base
  • 加密
    软件包添加了
    libffi dev
  • 为psycopg2添加了
    musl-dev
    postgresql-dev
  • MySQL-python不支持python3,所以我用
    mysqlclient
  • 为mysqlclient添加了
    mariadb-connect-c-dev
  • 其他次要修复、修复复制路径、删除重复依赖项
是的,一般来说,您最好不要使用alpine来构建python包()。如果您切换到
continuMio/miniconda3
,它会更简单(而且构建速度更快)


进行了一些更改,下面是新的dockerfile:

FROM python:3.6-alpine
WORKDIR /airflow

RUN apk add build-base libffi-dev musl-dev postgresql-dev mariadb-connector-c-dev

COPY requirements.txt ./requirements.txt
RUN pip install -r requirements.txt
COPY . /airflow

EXPOSE 8080 5555

CMD ["airflow", "initdb"]
以及新的requirements.txt:

pytz==2015.7
cryptography
pyOpenSSL
ndg-httpsclient
pyasn1
psycopg2
celery>=4.0.0
flower>=0.7.3

Flask==1.1.1
requests==2.22.0
apache-airflow==1.10.8
mysqlclient
flask_bcrypt
更改摘要:

  • 您试图下载Alpine中不存在的软件包(它们看起来像debian软件包),我用
    apk add build base
  • 加密
    软件包添加了
    libffi dev
  • 为psycopg2添加了
    musl-dev
    postgresql-dev
  • MySQL-python不支持python3,所以我用
    mysqlclient
  • 为mysqlclient添加了
    mariadb-connect-c-dev
  • 其他次要修复、修复复制路径、删除重复依赖项
是的,一般来说,您最好不要使用alpine来构建python包()。如果您切换到
continuMio/miniconda3
,它会更简单(而且构建速度更快)


如果我们使用
continumio/miniconda3
image创建dockerfile呢?如果我们使用
continumio/miniconda3
image创建dockerfile呢。