Вложенность команд Docker exec/run shell

Ваша команда может работать не так, как вы ожидали, из-за обычной ошибки bash:

docker exec <container> /bin/sh -c "go test $(go list ./... | grep -v '<excluded>')"

Команда, которую вы пытаетесь запустить, выполнит расширение подоболочки $() на вашем хосте, потому что он заключен в двойные кавычки.

Это можно решить, заключив вашу команду в одинарную кавычку, как предложил @cuonglm в комментариях к вопросу.

docker exec <container> /bin/sh -c 'go test $(go list ./... | grep -v "<excluded>")'

РЕДАКТИРОВАТЬ: Небольшая демонстрация

[wbarnwell@host ~]$ docker run -it --rm busybox /bin/sh -c '$(whoami)'/bin/sh: root: not found[wbarnwell@host ~]$ docker run -it --rm busybox /bin/sh -c "$(whoami)"/bin/sh: wbarnwell: not found