如何在拉出的docker映像上安装python库?

时间:2019-07-05 14:16:17

标签: python docker airflow

我拉了一个docker镜像以运行气流(pucker / airflow),并且运行良好。但是,我无法在此图像上安装新的python库。我读过你必须在docker文件中添加包。但是,我不知道它存储在哪里。我在MacOSX上工作。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

据我了解,您仅从dockerhub提取了一个puckel/docker-airflow映像,而您只是在运行该映像。

如果您需要添加额外的库,并且想要在构建过程中包括这些库的安装,则可能需要Dockerfile。 例如,如果您要安装requests,则极简的Dockerfile可能如下:

FROM puckel/docker-airflow
RUN pip install requests

myproject/中创建一个这样的文件,然后在cd中创建myproject/,然后简单地运行docker build . 这将输出一个简单的日志,例如:

Step 1/2 : FROM puckel/docker-airflow
 ---> 12753a529f9f
Step 2/2 : RUN python3 -m pip install requests
 ---> Running in 66860c8ca099
Requirement already satisfied: requests in /usr/local/lib/python3.6/site-packages (2.22.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/site-packages (from requests) (2019.3.9)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.6/site-packages (from requests) (3.0.4)
Requirement already satisfied: idna<2.9,>=2.5 in /usr/local/lib/python3.6/site-packages (from requests) (2.8)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/site-packages (from requests) (1.25.3)
Removing intermediate container 66860c8ca099
 ---> 66b9d91c4c95
Successfully built 66b9d91c4c95

然后运行docker run 66b9d91c4c95实例化刚刚创建的图像,或者运行docker run -it 66b9d91c4c95 bash在其中打开bash

您可以阅读docker tags,用有意义的名称替换66b9d91c4c95

答案 1 :(得分:0)

您是否使用过docker pulldocker run命令?

如果是,则表明容器正在运行,您可以通过docker ps

进行检查

如果要在容器中安装python库,则可以通过

进入容器
docker exec -it container_id bash

然后您就可以使用pip install