ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • WSL2 Ubuntu에서 도커가 안뜰때
    Linux/docker 2022. 12. 15. 00:35
    반응형

    그림엔 도커가 잘 떠 있는데...

    서두

    오랜만에 윈도우 PC가 생겨서 개발 환경을 구축하였다.
    Docker를 설치했는데 왠걸... Docker desktop이 실행이 안되었다.
    이리저리 검색을 해보니 WSL을 설치하고 도커를 설치해야 한다고 어디선가 봤다.

    (나이 드니깐 기억력이 가물가물...)

    WSL이 무엇이냐? 이름도 거창한 Windows Subsystem for Linux이다.
    즉, 윈도우에서 리눅스를 돌아가게 해주는 하위 시스템이다.

    아무튼, WSL을 설치하고 Ubuntu 22.04 버전을 설치했다.
    도커도 아마 이때 다시 깐 것 같다...

    (기억력이 가물가물...)

    근데 왠걸, 도커를 실행하면 왠 괴상 망측한 에러가 떴다.

    $ sudo docker ps -a
    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    그렇다. 오늘은 이런 오류가 났을 때 어떻게 해결해야 하는지를 알아볼 것이다.

    본론

    도커 상태를 한 번 봐보자. 이 친구가 뭘 하고 있길래 괴상한 에러를 뱉는지.

     $ sudo service docker status
     * Docker is not running

    아... 아직 안 떴구나 ㅎㅎ
    그럼 다시 띄워보자. 일어나렴 도커야.

     $ sudo service docker start
     * Starting Docker: docker

    참 췹죠? 도커가 뜬 것 같다.
    오늘의 포스팅은 오랜만에 작성했지만 여기서 마치도록 하겠다.

    면 좋겠지만 웬걸 여전히 안 떴다.

    $ sudo service docker status
    -   Docker is not running

    자 그럼 로그를 한 번 읽어보자.

    $ cat /var/log/docker.log
    ... (생략)
    failed to start daemon: Error initializing network controller: error obtaining controller instance: unable to add return rule in DOCKER-ISOLATION-STAGE-1 chain:  (iptables failed: iptables --wait -A DOCKER-ISOLATION-STAGE-1 -j RETURN: iptables v1.8.7 (nf_tables):  RULE_APPEND failed (No such file or directory): rule in chain DOCKER-ISOLATION-STAGE-1
     (exit status 4))

    구글신께 여쭤보니 WSL2 Debian에서 도커가 안뜨는 문제가 있다고 하면서
    여기 를 알려주셨다.

    해결 방법은?! 간단하게 아래 3줄만 실행시키면 도커가 뜬다...!

    $ sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
    $ sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
    $ sudo dockerd &
    ...
    $ sudo docker ps -a
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

    오늘의 교훈.
    자나깨나 로그 확인.

    반응형

    댓글

Designed by Tistory.