簡體   English   中英

如何將參數傳遞給 docker-compose

[英]How to pass argument to docker-compose

import argparse
parser = argparse.ArgumentParser()

parser.add_argument(
    '--strat', 
    type=str, 
)
args = parser.parse_args()
strat = args.strat

我想糾正我的 docker-compose.yml 文件,例如我只是從那里傳遞我的論點。 我做了

version: "3.3"
services:
  mm:
    container_name: mm
    stdin_open: true
    build: .
       context: .
       dockerfile: Dockerfile
       args:
           strat: 1

和我的 docker 文件

FROM python:3.10.7

COPY . .

RUN pip3 install --upgrade pip
RUN pip3 install -r requirements.txt

CMD python3 main.py

但它不起作用。

知道我應該改變什么嗎?

您需要更新 docker 文件以處理構建 arguments 嘗試以下操作:

ARG strat

# ...

CMD python3 main.py --strat=$strat

args thingy 僅用於“構建時間”。 如果您想使用不同的 arguments 運行已構建的映像,請使用環境變量或像使用常規二進制文件一樣傳遞它們。

像: docker compose run backend./manage.py makemigrations在這里你看到./manage.pymakemigrations是兩個 arguments 傳遞給 docker-compose.yml 中定義的backend服務

暫無
暫無

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

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