How to use a separate container service with each containerised celery worker?

I am using docker-compose to run multiple celery workers and struggling to make workers use this zeta0/alpine-tor rotating proxy pool image the way I want.

Currently my docker-compose.yml looks like this:

version: '3'
services:
    worker:
        build:
            context: .
            dockerfile: dockerfile
        volumes:
            - type: bind
              source: .
              target: /app
        links:
            - rabbit
            - tor
        depends_on:
            - rabbit
            - tor
    rabbit:
        hostname: rabbit
        image: rabbitmq:latest
        environment:
           - RABBITMQ_DEFAULT_USER=myuser
           - RABBITMQ_DEFAULT_PASS=mypassword
        ports:
            - "5672:5672"
    tor:
        hostname: tor
        image: zeta0/alpine-tor
        environment:
            - tors=25
            - privoxy=1
            - new_circuit_period=10
        ports:
            - "8118:8118"
            - "2090:2090"

And then I run: docker-compose up --scale worker=5.

The problem is that all workers are using the same tor service. I want to have a separate alpine-tor service for every worker. Is this possible to do with docker-compose? If so, what should I change to achieve that?

Source: Docker Questions