Docker Desktop에서 WSL2로만 이동하는 Docker로 이동

5554 단어 DockerWSL 2tech
Docker Desktop특정 조건에서의 이용 요금화을 원합니다.
그래서 이번에는 Docker Desktop을 사용했습니다.
  • GUI의 컨테이너 관리 기능이 필요 없는 사람
  • Docker Desktop 설치가 쉬워서 먼저 사용하는 사람
  • host.docker.호스트 OS의 IP 기능을 Internal에서 제거할 필요가 없는 사용자
  • 는 2021-10-15에 보충했다.
  • WSL2에서만 이동하는 Docker 메서드를 Windows에서 Docker Desktop에 썼습니다.

    전제 조건


    이 글의 내용은 다음과 같은 조건하에서 검증되었다.
  • OS
  • Windows 10
  • WSL2 배포
      - Ubuntu 20.04
  • DockerDesktop
    - 설치됨
  • 1. 미리 준비


    먼저 움직이는 Docker Desktop을 중지하십시오.
  • Windows 측면에서 Docker Desktop
  • 열기
  • Settings(톱니바퀴 표지)에서 뜯어낸 검사Start Docker Desktop when you log in.
  • 작업 표시줄에서 quit docker desktop를 선택하고 Docker Desktop을 닫습니다.
  • 2. 설치


    참조공식 문서의 설치 페이지는 Ubuntu에 Docker Engine을 설치합니다.
    sudo apt update
    # インストールに必要なものをインストール
    sudo apt install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    
    # GPGキー追加
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    # dockerのパッケージリポジトリをaptに追加
    echo \
      "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    # dockerEngineのインストール
    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io
    
    # docker-composeのインストール
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    
    # docker daemonの起動
    sudo service docker start
    

    3. docker daemon 자동 시작 설정


    WSL2에서 시스템d가 PID1로 시작하지 않기 때문에
    WSL2를 시작할 때 docker daemon을 시작하기가 어렵습니다.
    wsl2로 시스템d를 이동할 수 있지만 시스템d의 동작이 불안정하기 때문에 추천하지 않습니다.
    따라서 wsl을 사용할 때 docker daemon을 자동으로 시작하는 방법을 소개합니다.
    # service docker startだけパスワード無しでsudoできるようにする
    sudo visudo
    
    sudoers에 다음과 같은 내용을 보충 보존한다.
    마지막.bashrc(zsh를 사용하는 사람.zshrc)에 다음과 같은 내용을 추서합니다.
    ユーザー名 ALL=NOPASSWD: /usr/sbin/service docker start, /usr/sbin/service docker stop, /usr/sbin/service docker restart
    
    이렇게 하면 케이스가 시작될 때 docker daemon이 시작되지 않으면 자동으로 시작됩니다.

    Container Registry의 Credential Store를 기본값으로 재설정합니다.


    DockerDoke Registry에 로그인한 정보는 Credential Store에 저장할 수 있습니다.
    Docker Desktop은 Credential Store의 desktop입니다.exe는 자동으로 설정되지만 Docker Desktop을 사용하지 않으면 수동으로 삭제해야 합니다.
    ~/.docker/config.json을 열어 다음과 같이 수정합니다.
    service docker status > /dev/null 2>&1
    if [ $? = 1 ]; then
        sudo service docker start
    fi
    

    끝말


    일은 이것으로 끝냅니다.

    WSL2에서 이동하는 Docker로 이동한 후 Docker Desktop을 시작하면 어떻게 됩니까?


    Docker Desktop은 문제 없이 사용할 수 있습니다.
    Docker Desktop이 WSL2에/usr/bin/docker (Docker CLI 설치 완료) 가 이미 존재하는 경우, 책을 올리지 않으면/var/run/docker 이기 때문입니다.sock을 덮어쓰면 Docker Desktop 측면의 docker daemon과 통신할 수 있습니다.
    참고로 Docker Desktop에서 WSL2에서만 이동하는 Docker로 다시 돌아갈 때 WSL2에서 Docker daemon을 다시 시작하면 더욱/var/run/docker가 됩니다.sock이 덮어쓰기 때문에 괜찮습니다.
    ※ 크레덴셜 스토어를 회복해야 합니다.

    좋은 웹페이지 즐겨찾기