Unterschied zwischen Docker Attach und Docker Exec

Beide können Befehle im Container ausführen. Beide konnten den Container abnehmen. Was ist der wahre Unterschied zwischen Docker Exec und Docker Attach?