我有一个应用程序,与rabbitmq工作。有2个php脚本(发送和接收消息),但我只能运行一个脚本使用Dockerfile
CMD ["php", "./send.php"]
但是我必须运行两个脚本。我的导师要求我为每个脚本做两个容器:
version: "3"
services:
rabbit_mq:
image: rabbitmq:3-management-alpine
container_name: 'rabbitmq'
ports:
- 5672:5672
- 15672:15672
volumes:
- ./docker/rabbitmq/data/:/var/lib/rabbitmq/
- ./docker/rabbitmq/log/:/var/log/rabbitmq
- ./docker/rabbitmq/conf/:/var/conf/rabbitmq
environment:
- API_URL=Api:8000
send:
build:
context: './docker'
dockerfile: Dockerfile
image: php:7.4.cli
container_name: send
ports:
- 8000:8000
volumes:
- ./:/app
depends_on:
- rabbit_mq
receive:
image: php:7.4.cli
# build:
# context: './docker'
# dockerfile: Dockerfile
container_name: receive
ports:
- 8001:8001
volumes:
- ./:/app
depends_on:
- rabbit_mq
我可以做些什么来运行两个脚本使用“docker-composite up”命令?我农奴了很多网页,但找不到任何东西,我真的需要你的帮助!
2条答案
按热度按时间erhoui1w1#
你没有指定这些脚本是否终止进程,但是要运行它们,你可以像这样使用docker-compose:
inb24sb22#
如果你想把它作为docker-compose的一部分来运行,你可以把这些行添加到composer文件中的某些容器块中:
https://docs.docker.com/compose/compose-file/#command
如果你需要更复杂的东西,比如在失败时重启,看看使用'supervisor'。