wsl2의 Docker run에서 exited (139)가 발생한 경우의 해결 방법

1895 단어 도커WSL2

TL;DR


  • CentOS6과 같은 오래된 기본 이미지를 시작하지 못했습니다 (오류 코드 : 139)가 발생하는 해결 방법

  • 운영 환경


  • Windows 10 Home 64bit (2004)
  • 우분투 18.04 LTS
  • WSL2
  • Docker 19.03.08

  • 해결 방법



    먼저 호스트의 %USERPROFILE%/.wslconfig에 다음을 추가한 다음 WSL2를 다시 시작합니다.
    wsl -t만으로는 안될 것 같았기 때문에 PC마다 재기동이 무난하다고 생각합니다
    [wsl2]
    kernelCommandLine=vsyscall=emulate
    

    확인



    WSL2에 로그인하고 다음 명령을 실행하고 vsyscall = emulate가 추가되면 OK
    cat /proc/cmdline
    -> initrd=\initrd.img panic=-1 pty.legacy_count=0 nr_cpus=4 vsyscall=emulate
    

    시도하고 centos 이미지를 시작하고 Exited (139)가 아니면 해결
    docker pull centos:6
    docker run -dti centos:6 /bin/bash
    docker ps
    
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    6fe6f93cf876        centos:6            "/bin/bash"         4 seconds ago       Up 2 seconds                            dreamy_burnell
    

    참고 URL



    Enable vsyscall=emulate in the kernel config to run older base images such as Centos 6 #4694

    좋은 웹페이지 즐겨찾기