簡體   English   中英

當 django 在 docker 下運行時,將 python 函數作為命令行運行

[英]run python function as command line when django is runing under docker

我正在處理 django docker 映像,我想使用命令行執行一個函數,我知道我可以進入 shell python docker 容器並運行這樣的函數:

  • docker container ls查找容器ID並在下一個命令中使用
  • docker container exec -it <container_id> python3 manage.py shell然后:
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>
>>> from xx import foo 
>>> foo()  # foo() has been excecuted

但是,我想知道是否可以使用類似 python flag -c類的東西,它有助於將一小段 python 代碼作為命令行運行,如下所示:

  • python3 -c "from xx import foo; foo()"

我試圖用 linux 管插入一個 cmd: echo 'from xx import foo; foo()' | docker container exec -it <container_id> python3 manage.py shell echo 'from xx import foo; foo()' | docker container exec -it <container_id> python3 manage.py shell echo 'from xx import foo; foo()' | docker container exec -it <container_id> python3 manage.py shell ,但是它不起作用。

我很感激任何建議,感謝您的時間。

你可以這樣做:

docker exec -it <container id> python3 manage.py shell --command="import foo;foo()"

更多信息可以在 文檔中找到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM