version: '3.8' services: master: build: . container_name: pdc-master hostname: master volumes: - ./hostfile:/app/hostfile environment: - FRIENDLY_NAME=pdc-master # This line automatically reads from the .env file command: > sh -c "/usr/sbin/sshd & sleep 5 && mpirun -np 5 --hostfile /app/hostfile --allow-run-as-root /app/${TASK_TO_RUN:-edit_distance}" networks: - pdcn worker1: build: . container_name: pdc-worker1 hostname: worker1 environment: - FRIENDLY_NAME=pdc-worker1 command: /usr/sbin/sshd -D networks: - pdcn worker2: build: . container_name: pdc-worker2 hostname: worker2 environment: - FRIENDLY_NAME=pdc-worker2 command: /usr/sbin/sshd -D networks: - pdcn worker3: build: . container_name: pdc-worker3 hostname: worker3 environment: - FRIENDLY_NAME=pdc-worker3 command: /usr/sbin/sshd -D networks: - pdcn worker4: build: . container_name: pdc-worker4 hostname: worker4 environment: - FRIENDLY_NAME=pdc-worker4 command: /usr/sbin/sshd -D networks: - pdcn networks: pdcn: driver: bridge