[英]Run Python package with multiple .py scripts in docker-compose.yml
[英]what is a bare-bones Dockerfile/docker-compose.yml to run python scripts (with specific versions of python/packages)
我的筆記本電腦(Macbook)預裝了舊版本的 Python(2.7)。
我有幾個不同的 python 腳本task1.py
和task2.py
需要 Python 3.7 和pip install some_handy_python_package
一些在線消息來源稱,在 Macbook 上更新 Python 的系統范圍版本可能會破壞一些(未指定的)遺留應用程序。
似乎是 Docker 的完美用例,使用自定義 Python 設置運行一些本地腳本,但我沒有找到這個簡單用例的任何在線示例:
mystuff
有兩個腳本task1.py
和task2.py
(加上 Dockerfile 和 docker-compose.yml 文件)pip install some_handy_python_package
docker run -it --rm some-container-name
THEN at a bash prompt 'inside' docker run the script(s) via python task1.py
docker-compose run --rm console python task1.py
我假設 Dockerfile 是這樣開始的:
FROM python:3.7
RUN pip install some_handy_python_package
but I'm not sure what to add to either the Dockerfile or a docker-compose.yml file so I can either a) run in Docker a bash prompt that lets me run python task1.py
, or b) lets me define a 'console'可以從命令行調用python task1.py
的服務
如果它對其他人有幫助,這里有一個基本示例,如何在 Dockerized python 環境中運行一些本地文件夾 python 腳本。 (更好的示例是在 Dockerfile 中設置卷共享。)
cd sc2
pwd # /Users/thisisme/sc2` -- you use this path later, when run docker, to set a volume share
創建 Dockerfile
# Dockerfile
FROM python:3.7
RUN pip install some_package
構建容器,在本例中命名為rp
:
docker build -t rp.
在本地文件夾中,創建一些 python 腳本,例如:task1.py
# task1.py
from some_package import SomePackage
# do some stuff
在本地文件夾中,通過創建app
共享點運行容器中的腳本:
docker run --rm -v YOUR_PATH_TO_FOLDER:/app rp python /app/task1.py
具體來說:
docker run --rm -v /Users/thisisme/sc2:/app rp python /app/task1.py
有時在開發代碼時在容器中運行 python 解釋器很方便:
docker run -it --rm rp1
>>> 2 + 2
4
>>>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.