Windows Subsystem for Linux+Docker for Windows를 사용하기 전에 필기

6456 단어 Windows
참조 URL
  • "Windows Subsystem for Linux의 설치 및 사용 방법 - Build Insider"
  • "Docker for Windows에서 편안한 환경을 얻기까지 상당한 전투 - Qiita"
  • Linux용 Windows Subsystem 10

  • Windows 10 Fall Creators Update 업데이트

  • 관리자 모드에서 PowerShell 창을 시작하고 다음 명령을 실행합니다(실행 후 재시작 요청으로 해석되지 않음).
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    
  • Microsoft Store에서 배포를 위한 Windows Subsystem for linux 검색
  • "획득"설치를 통해 배포

  • Ubuntu를 시작하면 실제 WSL에 설치되고 Ubuntu 알림 창이 시작됩니다.

    사용자 이름 및 암호를 입력하여 작업 사용자 생성 및 설정
  • 주의사항


    "Windows 10 Fall Creators Update"가 설치되어 있으면 MS의 근사한 sshd가 설치되어 임의로 (Windows 서비스로) 시작하는 상태가 됩니다.
  • "Windows 10Anniversary 업데이트가 어느새 SSHd를 시작합니다: 쉽습니다"
  • 죽이지 않으면 VirtualBox와 WSL 방면의 sshd에 들어갈 수 없어서 반했어요.
    기본적으로 암호 인증 설정이기 때문에 안전성에서도 우수하지 않다.

    Docker


    Windows용 Docker 설치 방법은 생략됩니다.
    Ubuntu에 Docker를 설치하는 방법은 공식 설치 방법을 참조하십시오.
  • “Get Docker CE for Ubuntu | Docker Documentation”
  • 현재 URL"Docker for Windows에서 편안한 환경을 얻기까지 상당한 전투 - Qiita"을 참조하는 "Bash on Windows에 Docker 설치"와 동일합니다.
    이전 Docker가 설치되어 있으면 제거해야 합니다.

    준비

    apt 패키지 인덱스 업데이트
    $ sudo apt-get update
    
    apt HTTPS를 통한 패키지 설치 가능
    $ sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        software-properties-common
    
    Docker 공식 GPG 키 추가
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    GPG 키 목차 확인DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
    $ sudo apt-key fingerprint 0EBFCD88
    
    pub   4096R/0EBFCD88 2017-02-22
          Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
    uid                  Docker Release (CE deb) <[email protected]>
    sub   4096R/F273FCD8 2017-02-22
    
    Docker의 apt-get 저장소를 stable 저장소로 설정
    $ sudo add-apt-repository \
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
    

    Docker CE 설치


    패키지 인덱스apt를 업데이트합니다.(Docker의 apt 저장소가 설정되어 있기 때문에)
    $ sudo apt-get update
    
    설치
    $ sudo apt-get install docker-ce
    
    버전을 지정할 때 다음 명령에서 사용할 수 있는 버전을 확인하십시오.
    $ apt-cache madison docker-ce
    
    버전 지정 설치
    $ sudo apt-get install docker-ce=<VERSION>
    
    Hellow World 테스트
    $ sudo docker run hello-world
    
    → 이 단계는 움직이지 않는다

    Windows와 조정 설정


    다음 두 가지 설정을 통해 WSL 측 Docker 클라이언트는 Win 측 Docker engine을 사용합니다.

    Ubuntu on WSL

    ~/.bashrc에 다음을 기록합니다.
    export DOCKER_HOST='tcp://0.0.0.0:2375'
    

    Windows용 Windows Docker 설정

  • 설정의 일반 정보에서tcp://localhost:2375without TLS 선택
  • Shared Drives에서 WSL에 설치할 볼륨 확인
  • 권한 문제


    WSL+Ubuntu는 C 드라이브를 /mnt/c 에 자동으로 설치합니다.
    etc/fstab 등에는 기술되어 있지 않으므로 VirtualBox가 자동으로 설치되는 구조로 간주됩니다.

    /mnt/c 제약 조건

  • 권한 소유자는 root: root0777
  • 변경할 수 없는 권한
  • 가상 Box+Ubuntu 볼륨 마운트 제약조건과 마찬가지로 무의미함

    그럼 어떡해

  • "WSL의 84 - 이동식 디스크와 네트워크의 볼륨 등 다양한 볼륨을 마운트 가능-kledgeb"
  • 일반적으로 mount 명령으로 불러올 수 있다고 쓰여 있기 때문에 임의의 권한으로 임의의 디렉터리를 불러오십시오.
    $ sudo mount -t drvfs -o uid=tettekete,gid=tettekete C:\Users\tettekete\wsl_share /mnt/wsl_share
    mount: wrong fs type, bad option, bad superblock on C:\Users\tettekete\wsl_share,
           missing codepage or helper program, or other error
    
           In some cases useful info is found in syslog - try
           dmesg | tail or so.
    
    → 디렉토리를 마운트할 수 없음(드라이브 단위로만 가능)

    삼바 선택


    Windows 사이드 디렉토리를 원하는 권한으로 불러올 수 없다면 WSL 사이드 디렉토리를 공유하면 되지 않을까요?
  • “Samba file server running inside Bash on Windows”
  • 삼바 사람들도 생각해 본 것 같아.
    그러나 아무리 많은 접착 환경이 정신 위생적으로 환영을 받지 못하기 때문에 Docker for mac을 성실하게 사용하는 것이 좋다.

    좋은 웹페이지 즐겨찾기