我目前有以下部分的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:flask
和uima_taln_concept:fastapi
。这两个图像之间的唯一区别是Dockerfile的第一行,即
FROM uima_flask
和FROM 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