![](/img/trans.png)
[英]How to install python package into a docker service inside of a monorepo
[英]How to install a Python package inside a docker image?
有沒有辦法安裝 python package 而無需重建 docker 圖像? 我試過這種方式:
docker compose run --rm web sh -c "pip install requests"
但是如果我列出使用的包
docker-compose run --rm web sh -c "pip freeze"
我沒有得到新的。 它看起來像是安裝在容器中但沒有安裝在圖像中。
我的問題是在構建 docker 映像后安裝新的 python package 的最佳方法是什么? 提前致謝
docker-compose
用於與Docker一起運行多容器應用。
在您的情況下,您似乎使用安裝了 python 的 Docker 圖像作為入口點來做一些進一步的工作。
構建 docker 圖像后,您可以運行它:
$ docker run -dit -name my_container_name image_name
然后運行:
$ docker exec -ti my_container_name bash
或
$ docker exec -ti my_container_name sh
如果 docker 圖像中沒有 bash。 這將為您提供 shell 訪問您剛剛創建的容器的權限。 然后,如果您的容器中安裝了 pip,您可以像在您的操作系統上一樣安裝您需要的任何 python package。
請注意,您安裝的所有內容僅保留在您創建的容器中。 如果你刪除這個容器,你手動安裝的所有東西都會消失。
我對 docker 不太了解,但如果您執行命令,docker 引擎將根據您的web
圖像啟動一個新容器並運行pip install requests
命令。 執行命令后,容器將停止運行。 由於您指定了--rm
標志,docker 引擎將在您的新容器停止后刪除它,從而刪除整個容器以及已安裝的包。
AFAIK 你不能在不重建圖像的情況下添加包。 我知道您可以在不移除容器的情況下運行命令,並且您還可以從容器中制作圖像。 (那些圖像應該包括包)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.