我拉了一个docker镜像以运行气流(pucker / airflow),并且运行良好。但是,我无法在此图像上安装新的python库。我读过你必须在docker文件中添加包。但是,我不知道它存储在哪里。我在MacOSX上工作。
感谢您的帮助
答案 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 pull
和docker run
命令?
如果是,则表明容器正在运行,您可以通过docker ps
如果要在容器中安装python库,则可以通过
进入容器docker exec -it container_id bash
然后您就可以使用pip install