Ваша команда может работать не так, как вы ожидали, из-за обычной ошибки 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