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 Airflow和Apache芹菜。但现在,我只想安装气流。我面临一个奇怪的问题,说
不可满足的约束
我累了。我试过了,但没能解决这个问题。任何帮助都将不胜感激
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库
imagecontinuMio/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
- 其他次要修复、修复复制路径、删除重复依赖项
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
- 其他次要修复、修复复制路径、删除重复依赖项
continuMio/miniconda3
,它会更简单(而且构建速度更快)
如果我们使用
continumio/miniconda3
image创建dockerfile呢?如果我们使用continumio/miniconda3
image创建dockerfile呢。