[Errno 10048] error while attempting to bind on address ('::1', 8081, 0, 0): only one usage of each socket address (protocol/network address/port) is normally permitted

I think this comes down to how Jupyter / JupyterLab handles a server that's started in a cell and how it lets you terminate it. This thread has some approaches that might be more convenient than restarting the whole kernel: