There are a couple of issues it is useful to be aware of importing when depending on docker as a module.
1. docker's development is fragmented over various repositories, and docker/docker isn't tagged. docker/docker (an alias for moby/moby) still receives code updates imported from the other repositories, but not releases, here you can see the last one is in 2017:
https://github.com/docker/docker/releases. If you look at
https://github.com/docker/cli/releases you can see there has been a release a week ago. And if you look at the master branch, it has recent commits.
2. docker's recent tags aren't semver, because of the presence of a leading zero in `v17.05.x-foo`. But the project does have old semver tags. So what you're seeing is that a very old version of docker is being pulled in.
It's this old version of docker which is causes an old logrus to be imported.
So you can get, say, a recent version of docker by running this (or substitute @master for a specific release tag or git commit).
There is a bit more work needed to get it to build, but it is possible. Sorry I don't have a complete solution immediately handy right now.