Bash sustitución de comando en host remoto [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo cat << EOF >> un archivo que contiene código? 3 respuestas

Estoy tratando de ejecutar un script bash que ssh está en un host remoto y detiene el único contenedor acoplable que se está ejecutando.

#!/usr/bin/env bash

set -e

ssh <machine> <<EOF

container=$(docker ps | awk 'NR==2' | awk '{print $1;}')

docker stop $container

EOF

Sin embargo, me sale el siguiente error:

stop.sh: line 4: docker: command not found

Cuando hago esto manualmente (ssh a la máquina, ejecuto los comandos) todo está bien, pero cuando trato de hacerlo por medio de un script obtengo el error. Supongo que mi sintaxis de sustitución de comandos es incorrecta y he buscado e intentado todo tipo de comillas, etc. pero fue en vano.

¿Alguien puede señalarme a dónde voy mal?

Respuestas a la pregunta(1)

Su respuesta a la pregunta