탈·Docker Desktop-WSL 2편-
그리고 저도 리눅스를 사용하고 있기 때문에 가능하면 같은 관리 방법을 사용하고 싶습니다.
따라서 Docker Desktop 사용을 포기하고 WSL에서 Docker를 직접 이동합니다.
아이들에게 잘 주다
본 보도 내용에 근거하여 실시된 업무 결과에 대하여 나는 어떠한 책임도 지지 않는다.
스스로 책임지고 실시하세요.
아울러 이 기사는 기술적 가능성을 철저히 보여'Docker Desktop에 대한 요금을 회피하는 지름길'이라는 해설은 절대 아니다.
지불해야 할 돈은 잘 지불해야 한다.
컨디션
OS
Docker Desktop 제거
혹시 모르니까 컨테이너 다 멈추고 폐기하는 게 좋아요.
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
시작 메뉴에서 Docker Desktop을 찾아 보통 제거합니다.성공했어.Close.
WSL을 다시 시작합니다.PowerShell을 시작하고 다음 명령을 실행합니다.
주의: 여러 개의 배달을 삽입합니다. 그 중 하나만 다시 시작하려면 다른 명령을 사용하십시오.(참조: https://kagasu.hatenablog.com/entry/2020/01/02/155532)
> wsl --shutdown
Docker가 제거되었음을 확인합니다.$ which docker
docker not found
$ which docker-compose
docker-compose not found
따라서 CLI Plugin의 디렉토리에 기호 링크가 남아 있을 수 있습니다.$ ls -l /usr/local/lib/docker/cli-plugins/
lrwxrwxrwx 1 root root 80 Mar 26 10:35 docker-buildx -> /mnt/wsl/docker-desktop/cli-tools/usr/local/lib/docker/cli-plugins/docker-buildx
lrwxrwxrwx 1 root root 81 Mar 26 10:35 docker-compose -> /mnt/wsl/docker-desktop/cli-tools/usr/local/lib/docker/cli-plugins/docker-compose
lrwxrwxrwx 1 root root 78 Mar 26 10:35 docker-scan -> /mnt/wsl/docker-desktop/cli-tools/usr/local/lib/docker/cli-plugins/docker-scan
나중에 장애가 발생할 수 있으므로 삭제합니다.$ sudo rm /usr/local/lib/docker/cli-plugins/*
Distrod를 사용한 시스템 유효성 향상
매크로 패키지 목록을 업데이트합니다.
$ sudo apt update
Distrod 설치 스크립트를 다운로드합니다.이 스크립트는 설치 후 삭제할 수 있습니다.
$ curl -L -O "https://raw.githubusercontent.com/nullpo-head/wsl-distrod/main/install.sh"
설치 스크립트에 대한 실행 권한을 부여합니다.$ chmod +x install.sh
Distrod 설치$ sudo ./install.sh install
(中略)
Installation is complete!
Distrod 를 설정합니다.$ sudo /opt/distrod/bin/distrod enable
[Distrod] Distrod has been enabled. Now your shell will start under systemd.
WSL에서 로그아웃하고 재부팅한 후 로그인합니다.PID1에서 Systemd가 실행 중인지 확인합니다.
$ ps -aux | head -n 2
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 4.2 0.1 23040 12348 ? Ss 13:56 0:01 /sbin/init systemd.setenv=WSLENV=WT_SESSION::WT_PROFILE_ID systemd.setenv=WSL_DISTRO_NAME=Ubuntu systemd.setenv=WSL_INTEROP=/run/WSL/8_interop --unit=multi-user.target
Docker CE 설치
매크로 패키지 목록을 업데이트합니다.
$ sudo apt update
필요한 패키지를 설치합니다.(모든 설치가 완료되면 필요 없습니다.)$ sudo apt install apt-transport-https ca-certificates 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의 패키지 웨어하우스를 추가합니다.$ 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
패키지 목록을 다시 업데이트합니다.$ sudo apt update
Docker CE를 설치합니다.$ sudo apt install docker-ce docker-ce-cli containerd.io
Docker가 설치되어 있는지 확인합니다.$ docker version
Client: Docker Engine - Community
Version: 20.10.14
(以下略)
Docker 설정 시작
Systemd를 사용하여 Docker를 시작합니다.
익숙한 명령이라 자세한 내용은 생략합니다.
$ sudo systemctl enable docker
$ sudo systemctl start docker
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-03-26 14:04:06 JST; 2min 54s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
(以下略)
Docker Compose 설치
Docker Compose는 기본적으로 포함되지 않습니다.
$ docker-compose version
docker: 'compose' is not a docker command.
See 'docker --help'
$ docker compose version
zsh: command not found: docker-compose
넣으세요.{バージョン}
를 적절한 버전으로 교체하여 실행하십시오.$ sudo curl -L https://github.com/docker/compose/releases/download/{バージョン}/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
최신 버전은 GiitHub의 Releases를 통해 확인할 수 있습니다.현재 버전 2022/3/26
v2.3.4
을 다운로드하십시오.$ sudo curl -L https://github.com/docker/compose/releases/download/v2.3.4/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
집행 권한을 수여한다.$ sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
설치를 확인합니다.$ docker compose version
Docker Compose version v2.3.4
Docker Compose 명령
Docker Compose는 버전 2 시스템에서 Docker의 CLI 플러그인으로 이동합니다.
이렇게 하면, 연결 문자가 없는 하위 명령으로 호출할 수 있다.
예전과 마찬가지로
docker-compose
지령을 사용하고 싶다면 ~/.zshrc
등으로 아리스를 미리 맞히는 것은 나무랄 데가 없다.끝말
나는 Systemd의 유효성이 상당히 번거롭다고 생각한다. Distrod는 매우 간단하고 나에게 큰 도움을 주었다.
이번이 아마 첫 수확일 것이다.
잊어버리다
있어요?
참고 자료
Reference
이 문제에 관하여(탈·Docker Desktop-WSL 2편-), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/23prime/articles/c78c42351a7439텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)