Docker Desktop이 2022년 8월 31일 부터.. 250명 미만이고 년간 수익이 천만달러(약100억) 미만인 기업에서만 Docker Desktop을 무료로 사용 할 수 있다고 합니다. 개인이나 비영리는 계속 사용 가능 하고요.
그래서, Docker Desktop에서 벗어 날려고 자료를 좀 정리 해 봤습니다.
WSL에 Docker 설치하기
먼저 시스템에는 WSL2가 설치가 되어 있어야 합니다.
wsl이 설치가 되어 있지 않다면 아래 URL을 참고 해서 설치 해 주시면 됩니다.
https://docs.microsoft.com/ko-kr/windows/wsl/install
wsl의 배포판이 설치 되어 있지 않다면, 아래와 같이 wsl --list --online 이라고 하면 유효한 배포 목록이 나옵니다. 현재 우분투는 22.04가 윈도우 스토어에 있지만 여기는 20.04가 최신 입니다.
wsl --install -d "Ubuntu-20.04"
설치가 완료 되었으면 docker를 아래와 같이 설치 해 줍니다.
sudo apt update
curl -sSL get.docker.com | sh
sudo usermod $USER -aG docker
설치 하다 보면.. 위와 같은 메시자가 나오는데.. 그냥.. 기다리시면 됩니다.
그리고, 아래와 같이 /etc/wsl.conf 파일을 열어서..
sudo vi /etc/wsl.conf
아래 내용을 입력 해 줍니다.
[boot]
command="/etc/init.d/docker start"
저장하고 닫고 나서 해당 파일에 실행 권한을 줍니다.
sudo chmod 777 /etc/wsl.conf
그리고 exit로 쉘을 나가 줍니다.
exit
wsl을 wsl --shutdown으로 wsl을 종료 후 다시 wsl로 wsl을 시작 해 줍니다.
그러고 docker ps를 쳐 봐서.. 아래와 같은 화면이 나오면 정상 적으로 설치가 완료 된 상태 입니다.
> wsl --shutdown
> wsl
$ docker ps
Docker Compose 설치 하기
wsl 상태에서 아래와 같이 입력 해서 설치 해 줍니다.
sudo curl -SL https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
설치 확인을 아래와 같이 하시면 됩니다.
$ docker-compose version
Docker Compose version v2.7.0
PowerShell에서 docker 사용하기
단순히 명령어로 사용 하려고 하면, 아래와 같이 입력 해 주시면 사용이 가능 합니다.
wsl docker ps
wsl docker-compose --version
하지만, 간단하게 Alias만 해 주면 좀 더 편하게 docker를 사용 할 수 있습니다.
파워쉘에서 아래와 같이 입력해 줍니다.
notepad $PROFILE
메모장이 뜨고 여기에 아래의 내용을 입력해 줍니다.
Function Start-WslDocker {
wsl docker $args
}
Function Start-WslDockerCompose {
wsl docker-compose $args
}
Set-Alias -Name docker -Value Start-WslDocker
Set-Alias -Name docker-compose -Value Start-WslDockerCompose
이렇게 해주고 파워셀을 띄우면, 파워쉘에서 docker 명령어를 사용 할 수 있게 됩니다.
VSCODE에 Docker 설정하기
먼저 기존 docker extension이 설치가 되어 있다면 삭제를 해 주셔야 합니다.
vscode에서 extension에서 wsl을 검색 합니다.
Remote -WSL을 설치 합니다.
그리고, F1을 눌러서 remote-wsl: New WSL Window using Distro.. 를 선택 하시거나 왼쪽 밑 버튼을 눌러서 New WSL Window using Distro.. 를 선택 합니다.
그리고 현재 사용중인 WSL 이미지를 선택 합니다.
그러면, 새로운 vscode가 뜨면서 WSL 과 연결이 됩니다.
이 상태에서 Extension에서 Docker를 새로 설치를 해 줍니다.
그러면, 옆에 docker아이콘이 생기고 vscode에서 wsl의 docker가 접근이 됩니다.
이렇게만 세팅을 해 놓으면 docker desktop이 없더라도 툴까지 사용이 가능 해 집니다.
유용한 CLI
ctop
리눅스에 top과 비슷한 컨셉으로 docker의 프로세스 목록을 보여 줍니다.
wsl에서 apt 로 간단하게 설치가 가능 합니다.
sudo apt install ctop
lazydocker
서비스 부터 컨테이너 이미지, 볼륨까지 한눈에 볼 수 있고 관리가 가능 합니다.
wsl에서 설치 해 주시면 됩니다. 설치 방법은 아래와 같습니다.
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
참고
- https://awesome-docker.netlify.app/#terminal
- https://github.com/microsoft/vscode-docker/issues/1582#issuecomment-578882428
- How to run docker on Windows without Docker Desktop
- WSL2 – Use docker with VSCode without docker desktop (Windows 11)
- Configuring Docker without Docker Desktop on Windows / WSL2
댓글