在docker-compose中如何在同一图像中使用多个标签



我目前有以下部分的docker-compose文件:

uima_taln_concept:
image: uima_taln_concept
build:
context: ./wrappers/concept_extraction
ports:
- "5556:8000"
volumes:
- /datasets/taln/concept_extractor/20200124/models:/app/models
environment:
- LANGUAGE=en
- FLASK_ENV=development
- FLASK_DEBUG=False
command: ["gunicorn", "--reload", "-b 0.0.0.0:8000", "-t 300", "server:app"]

我想创建两个标签,uima_taln_concept:flaskuima_taln_concept:fastapi。这两个图像之间的唯一区别是Dockerfile的第一行,即

FROM uima_flaskFROM uima_fastapi。由于我将对许多图像重复此操作,是否有一种方法可以做到这一点,而不是简单地复制粘贴uima_taln_concept的整个描述并更改一些事情?我在想一些东西,比如能够将标签与特定的Dockerfile相关联。

您可以在使用图像之前使用变量并在环境中设置它们:

uima_taln_concept:
image: uima_taln_concept:${IMAGE_TAG}
build:
...
...

然后当你调用docker-compose时运行:

~# IMAGE_TAG=fastapi docker-compose up -d

最新更新