Docker, while not proprietary, still subject to moving fast and breaking things, which was amply criticised here on HN.
Common Lisp should stay a refuge from all the rug pulling around. While it's true that quicklisp is far from bedrock, adding volatile APIs into the mix won't help.
In my mind reimplementing in CL is better bet than pulling Docker.
What do you use instead?
Just this: if something interferes badly with a basic CL feature such as SLIME (cl-async does), toss it.
It basically starts an event loop in a separate thread and then wraps all of the SLIME's evals so they're executed from within that event loop.
That is perfect match for guix channels too.
What I do is maintain a repository of package definitions (that possibly inherit from guix master package definitions) and only change a few hashes here and there when I need.