Depending on your setup, most likely you want to run the job queue container with the same image as the php container. Most time I see people executing the running php container and starting a job queue directly in there.
A nicer way is to simply run a copy of the image as a separate container. Instead of running the same build you can use the previously build php image directly in your docker compose configuration.
version: '3.7' services: app: build: ./.docker/php image: app volumes: - ./:/var/www/html:rw,cached env_file: - .env job-queue: image: app volumes: - ./:/var/www/html:rw,cached env_file: - .env deploy: restart_policy: condition: on-failure command: php bin/console messenger:consume async -vv
The trick is using the
image keyword additionally to the
build. With using the
image, you name the image and make it available to the other services as an image to use.