I never, ever use a bare docker run command unless it's for a one-off, never used it again container. Other than actively working on a project, I can't see why anyone would use that.
Docker compose for every stack, watchtower for the containers I'm not too worried about breaking changes on update.
Leet