Windows10 Home에서 Docker 환경 가져오기

개시하다


최근에는 다양한 환경 구축·서비스 이용으로 Docker가 이용되고 있습니다.
자신도 집에 있는 윈10 컴퓨터에서 해봐야 한다는 생각에 실천에 옮겼다.그때 메모예요.

대상

  • Windows 10 Home에서 Docker를 사용하고 싶은 사람
  • Windows 10Pro에서 Docker를 사용하고 싶지만 VMware와 VirtualBox를 사용하고 싶어서 Hyper-V를 효과적으로 사용하지 못하는 사람
  • 이전의 자신
  • 컨디션

  • Windows 10 Home 64bit
  • CPU: Core i7-8700 @ 3.20GHz
  • RAM: 16GB
  • 이전 단락


    Windows 10Pro는 "Docker Desktop for Windows"를 사용하는 사람이 비교적 많다고 생각합니다.
    Win10Pro가 지원하는 Hyper-V 같은 초진동기에서 리눅스 기계와 Docker 엔진을 가동하는 구성입니다.
    그러나 Hyper-V를 사용할 경우 VMware 및 Virtual Box 등의 가상화 소프트웨어를 사용할 수 없습니다.
    ※ CPU가 사용하는 경우도 있나요?재미있는 고찰을 한 것 같습니다.
      VirtualBox 6.0에서 Hyper-V와 함께 사용 가능
    Hyper-V가 좋지 않다고 생각되면 Virtual Box에서 Docker 기기를 이동하는'Docker Toolbox'를 통해 방법을 강구할 수 있다.
    Hyber-V에서 이동하는 MobyLinux VM과 Virtual Box에서 이동하는 docker-machine은 실제로 기능과 성능이 얼마나 다른지 잘 모르겠지만...
    하지만 아무래도 자신의 상황이 워낙 Win10 Home이기 때문에 Docker Toolbox가 선택이다.

    쓴 내용

  • Docker Toolbox 획득 및 설치, Hello-World 실행 전 단계
  • 중도에 넘어진 곳과 대책 소개
  • 설치 프로세스

  • CPU 가상화 확인
    작업 관리자→성능→CPU에서 仮想化: 有効로 변경되면 OK.

    비활성화된 경우 BIOS 설정에서 활성화해야 합니다.(이곳의 절차는 할애...)
  • Docker Toolbox 획득
    https://docs.docker.com/toolbox/toolbox_install_windows/

    프로그램의 중간에 최신 버전의 주소 링크가 있습니다.김허브에서 가져온 거죠?
    https://github.com/docker/toolbox/releases

  • 설치하다.
    화면에 따라 진행하다.
    Virtual Box와 Git for Windows도 함께 넣느냐는 물음에 아직 넣지 않은 물건은 먼저 점검해야 한다.

    Virtual BoxInstall VirtualBox with NDIS5 driver [default NDIS6]를 입력하면 확인란이 표시되지만 초기 상태에서는 선택되지 않습니다.
    검사를 해야 할지 말아야 할지, 인터넷 보도에 여러 가지 의견이 있었지만, 나 자신은 잠시 검사를 하지 않고 진행했다.이후 실패하면 이 부분에 의한 것인지 확인하세요.

  • 부팅
    데스크톱에 Docker Quickstart Terminal 단축키가 있으면 바로 시작합니다.
    를 시작하면 최신 boot2 docker가 표시됩니다.GiitHub에서 iso 가져오기
  • default라는 docker-machine
  • 만들기
  • 새 Virtual Box용 호스트 전용 네트워크 어댑터
  • 만든 docker-machine(default)이 성공적으로 시작되었습니다.
    Creating CA: C:\Users\<user>\.docker\machine\certs\ca.pem
    Creating client certificate: C:\Users\<user>\.docker\machine\certs\cert.pem
    Running pre-create checks...
    (default) Image cache directory does not exist, creating it at C:\Users\<user>\.docker\machine\cache...
    (default) No default Boot2Docker ISO found locally, downloading the latest release...
    (default) Latest release for github.com/boot2docker/boot2docker is v19.03.5
    (default) Downloading C:\Users\xxx\.docker\machine\cache\boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v19.03.5/boot2docker.iso...
    (default) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
    Creating machine...
     (略)
    Docker is up and running!
    To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env default
    

    지금까지 정리한 요점과 대응


    여기까지 나는 이미 많은 것에 빠졌기 때문에 나는 기록할 것이다.(어떤 의미에서 이 문장의 주요 내용)
    단축키에서 시작할 수 없음
    Docker Quickstart Terminal 바로 가기에서C:\Program Files\Git\bin\bash.exe시작할 때, Giit for Windows가 D 드라이브 등에 설치되어 있으면 bash를 찾을 수 없어 욕을 먹을 수 있습니다.
    → 단축키를 편집하고 적절한 위치를 지정합니다.
    오류Docker Machine is not installed. Please re-run the Toolbox installer and try again. 발생
    → Docker Toolbox의 설치 경로(DOCKER TOOLBOX INSTALL PATH)가 환경 변수에 없을 수 있습니다.
    사내 PC에서는 Docker Toolbox→일반 사용자가 시작할 때 등을 Admin 권한으로 설치할 수 있습니다.
    → 위의 환경 변수를 시스템 환경 변수에 추가합니다.
    (예) DOCKER_TOOLBOX_INSTALL_PATH : C:\Program Files\Docker Toolbox프록시 환경에서 boot2 dockeriso를 가져올 수 없어 오류가 발생했습니다.
    - 프록시 서버의 환경 변수를 설정합니다.
    (예)
       HTTP_PROXY : http\://172.16.1.1:8080 HTTPS_PROXY : http\://172.16.1.1:8080 ※ https 중 오류https://github.com/docker/machine/issues/3210
    boot2docker.iso를 가져왔지만 docker-machine 생성에 실패했습니다
    C:\Users<사용자>.docker\machine\cache에 50MB 정도라고 생각했는데 5KB 정도(파손?)
    → 왜 손상되었는지 모르겠지만 받아야 할 이미지를 수동으로 구할 수 있다면 문제없다.
      https://github.com/boot2docker/boot2docker/releases/download/v19.03.5/boot2docker.iso
    획득한 이미지C:\Users\<ユーザー>\.docker\machine\cache
      C:\Users\<ユーザー>\.docker\machine\machines\default배치(cache 위에 놓지 않아도 될 수 있음)를 다시 실행하고 Docker QuickStart Terminal을 다시 실행합니다.
    docker-machine default에서 이런 오류가 발생했습니다
     This machine has been allocated an IP address, but Docker Machine could not reach it successfully. 
     SSH for the machine should still work, but connecting to exposed ports, such as the Docker daemon port (usually <ip>:2376), may not work properly.
     (以下略)
    
    → 조사 중...VPN을 사용했기 때문에 이 영향을 받았나?
    그러나 테라테프의 SSH 연결(docker:tcuser) 등을 통해 원활하게 사용할 수 있다.

    Hello-World

    $ docker run --rm hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    1b930d010525: Pull complete
    Digest: sha256:fc6a51919cfeb2e6763f62b6d9e8815acbf7cd2e476ea353743570610737b752
    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/
    
    For more examples and ideas, visit:
     https://docs.docker.com/get-started/
    
    정상적으로 사용할 수 있습니다.
    $ docker-machine ssh default
       ( '>')
      /) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY.
     (/-_--_-\)           www.tinycorelinux.net
    
    SSH 연결도 가능합니다.
    이번엔 여기까지.

    좋은 웹페이지 즐겨찾기