WSL/docker - failed to start shim: start failed: io.containerd.runc.v2: create new shim socket
갑자기 이런 오류가 발생한다면?
c:\temp> docker run --name test-inst test-img
docker: Error response from daemon: failed to start shim: start failed: io.containerd.runc.v2: create new shim socket: listen unix /run/containerd/s/3fc3ca7373b8f9e21203abfab1a29634dcf9648e7141f1a64d34674fc706eecd: bind: function not implemented: exit status 1: unknown.
해당 오류는 python의 소켓 바인딩에 실패한 것과 동일한 오류 메시지입니다.
$ python3 -m http.server
Traceback (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
...[생략]...
File "/usr/lib/python3.10/http/server.py", line 136, in server_bind
socketserver.TCPServer.server_bind(self)
File "/usr/lib/python3.10/socketserver.py", line 466, in server_bind
self.socket.bind(self.server_address)
OSError: [Errno 38] Function not implemented
그러니까, docker run으로 인해 실행하는 코드 중 저렇게 socket binding을 하는 코드가 있고, 무슨 이유에서인지 그에 실패한 것입니다. 음... 그냥 다른 생각하지 마시고... ^^ WSL을 재시작하시면 됩니다.
C:\Windows\System32> wsl --version
WSL 버전: 1.1.3.0
커널 버전: 5.15.90.1
WSLg 버전: 1.0.49
MSRDC 버전: 1.2.3770
Direct3D 버전: 1.608.2-61064218
DXCore 버전: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 버전: 10.0.20348.1726
C:\Windows\System32> wsl --shutdown
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]