Azure容器-包含10个不同的服务



我有一个应用程序,它有10个不同的服务,包括nginx,芹菜和postgresql。是否可以使用Azure容器实例来部署它?

我尝试了几次,包括从ACR拍摄图像,但我无法得到这项工作。我只看到一个集装箱,而不是全部10个。我认为docker撰写将自动创建所有实例,但我正在努力理解确切的问题。

下面是示例docker-compose文件。任何指导都会很有帮助的。


services:
app: &app
image: registry....../app
build:
context: .
env_file: variables.env
volumes:
# - ./app/:/usr/src/app/
- static:/usr/src/app/static
- media:/usr/src/app/media
command: /bin/true
web:
<<: *app
command: uwsgi --ini /usr/src/app/uwsgi.ini
expose:
- 8000

channelserver:
<<: *app
command: daphne --bind 0.0.0.0 --port 5000 -v 1 APP.asgi:application
expose:
- 5000
db:
image: postgres:10.5-alpine
volumes:
- postgres:/var/lib/postgresql/data/
env_file: variables.env
redis:
image: redis:3.0-alpine
nginx:
image: registry...../nginx
build: ./nginx
environment:
- SERVERNAME=${DOMAIN:-localhost}
volumes:
- type: bind
source: $PWD/nginx/nginx.conf
target: /etc/nginx/conf.d/nginx.conf
- static:/usr/src/app/static
- media:/usr/src/app/media
ports:
- 8080:80
celery-main:
<<: *app
command: "celery worker -l INFO -E -A [APP] -Ofair --prefetch-multiplier 1 -Q default -c ${CELERY_MAIN_CONC:-10} --max-tasks-per-child=10"
celery-low-priority:
<<: *app
command: "celery worker -l INFO -E -A [APP] -Ofair --prefetch-multiplier 1 -Q low-priority -c ${CELERY_LOW_CONC:-10} --max-tasks-per-child=10"
celery-gpu: &celery-gpu
<<: *app
environment:
- KRAKEN_TRAINING_DEVICE=cpu
command: "celery worker -l INFO -E -A [APP] -Ofair --prefetch-multiplier 1 -Q gpu -c 1 --max-tasks-per-child=1"
shm_size: '3gb'
flower:
image: mher/flower
command: ["flower", "--broker=redis://redis:6379/0", "--port=5555"]
ports:
- 5555:5555
mail:
build: ./exim
image: registry....../mail
expose:
- 25
environment:
- PRIMARY_HOST=${DOMAIN:-localhost}
- ALLOWED_HOSTS=web ; celery-main ; celery-low-priority; docker0
volumes:
static:
media:
postgres:
esdata:

要在Azure容器实例中部署多个容器,您可以使用YAML文件和Azure模板,这两种方法可以将容器直接部署到ACI。此外,您还可以使用本文档后面的docker-compose文件。

如果你对这个问题还有更多的问题,你可以提供详细的信息,我很愿意帮助你。

相关内容

最新更新