WSL2 CentOS7 및 Docker Desktop으로 만드는 편안한 Docker 환경

소개



Windows에 익숙해져 있는 사람에게 있어서는 Linux계의 CLI는 좀처럼 뭉치기 어렵지요.
Windows판의 Docker Desktop에 탑재되고 있는 WSL2 통합 기능을 사용하면, Windows의 GUI로 컨테이너의 관리를 할 수 있으므로 다소 취급하기 쉬워졌으므로 소개합니다.

전제


  • Windows 10 Pro 버전 2004
  • CentOS7

  • 절차



    대략적인 절차는 다음과 같습니다.
  • WSL2에 CentOS7 설치
  • CentOS7에 Docker 설치
  • Windows10에 Docker Desktop 설치
  • Docker Desktop의 WSL2 통합 설정

  • 1. WSL2에 CentOS7 설치



    CentOS7 얻기



    GitHub에서 CentOS7.zip을 다운로드합니다.
    htps : // 기주 b. 이 m/wsldl-pg/전 tWSL/레아세 s/타 g/7.0.1907.3

    CentOS7 설치



    다운로드한 파일을 다음 위치로 압축해제합니다.
    C:\Users\username\AppData\Local\Packages

    결과적으로 다음 폴더가 만들어지고 폴더에 CentOS.exe가 출력됩니다.
    C:\Users\username\AppData\Local\Packages\CentOS7

    압축을 푼 CentOS7.exe를 실행하면 설치됩니다.

    Windows Terminal 설치



    CentOS7 작업을 위해 Windows Store에서 설치합니다.


    Windows Terminal에서 시작



    Windows Terminal을 시작하고 새 탭을 열면 CentOS7이 목록에 추가되어 클릭하여 시작하는지 확인합니다.


    시작시 디렉토리를 루트 홈 디렉토리로 변경



    CentOS7 기동시의 커런트 디렉토리가 Windows상의 유저의 홈 디렉토리가 되어 있어 불편하므로, 설정을 열어 root의 홈 디렉토리로 변경한다.



    모든 편집기에서 setting.json을 열고 CentOS7 설정에 startingDirectory 설정을 추가합니다.

    setting.json
    {
     "guid": "{a8202b0e-781a-5dab-98e2-e9d469a63619}",
     "hidden": false,
     "name": "CentOS7",
     "source": "Windows.Terminal.Wsl",
     "startingDirectory" : "//wsl$/CentOS7/root"
    }
    

    CentOS7을 다시 시작하여 설정이 반영되어 있는지 확인.



    root의 패스워드 설정은 할애.

    2. CentOS7에 Docker 설치



    여기에서 CentOS7을 CLI로 조작합니다.
    커맨드는 4개만이므로 노력한다.
    각 명령에 대한 자세한 내용은 Docker 공식 사이트 "Docker CE 얻기 (CentOS 용)"을 참조하십시오.

    우선 다음의 커멘드로 Software Collections 를 도입.
    $ yum install -y centos-release-scl-rh
    

    그런 다음 필요한 패키지를 설치합니다.
    $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    

    Docker 리포지토리를 추가합니다.
    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

    yum의 패키지 인덱스를 업데이트합니다.
    $ sudo yum makecache fast
    

    그리고 CentOS 용 Docker를 설치합니다.
    (버전 지정이 없으면 Docker가 시작되지 않았기 때문에 "centos"부착 버전을 설치)
    $ sudo yum install -y docker-ce-18.03.1.ce-1.el7.centos
    

    이 상태로 Docker를 기동하려고 해도 에러가 되지만 신경쓰지 않는 것.
    #今はまだ動かない
    $ sudo systemctl start docker
    Failed to get D-Bus connection: Operation not permitted
    

    3. Windows10에 Docker Desktop 설치



    Docker 공식 참조.

    4. Docker Desktop에서 WSL2 통합 설정



    Docker Desktop 설정 화면을 열고 Resources -> WSL INTEGRATION으로 이동합니다.


    Enable integration with additional distros 에 있는 CentOS7의 토글을 ON으로 한다.
    Apply & Restart 버튼을 누릅니다.


    동작 확인



    CentOS7에서 다음 명령을 실행합니다.
    $ docker run hello-world
    

    hello-world 의 컨테이너 이미지가 Pull 되어 컨테이너가 기동해, "Hello form Docker!"라고 표시되어 있으면 동작 확인 성공.
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    0e03bdcc26d7: Pull complete
    Digest: sha256:31b9c7d48790f0d8c50ab433d9c3b7e17666d6993084c002c2ff1ca09b96391d
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://hub.docker.com/
    

    Docker Desktop에서 확인



    image 목록에 "hello-world"가 추가되어 CentOS와 연동하고 있는 것을 알 수 있다.


    CentOS7에서 확인



    물론 CentOS상에서도 같은 것을 확인할 수 있다.
    $ docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    httpd               2.4                 dd85cdbb9987        5 weeks ago         138MB
    alpine/git          latest              94f8849864da        3 months ago        28.4MB
    hello-world         latest              bf756fb1ae65        12 months ago       13.3kB
    

    이상으로 끝.
    Docker Desktop에서 컨테이너 상태를 보거나 RUN하거나 콘솔에 액세스합니다.

    어딘가에 누군가의 도움이 되길 바랍니다.

    참고 기사



    WSL로 CentOS7 설치

    좋은 웹페이지 즐겨찾기