Docker Desktop에서 WSL2로만 이동하는 Docker로 이동
그래서 이번에는 Docker Desktop을 사용했습니다.
전제 조건
이 글의 내용은 다음과 같은 조건하에서 검증되었다.
- Ubuntu 20.04
- 설치됨
1. 미리 준비
먼저 움직이는 Docker Desktop을 중지하십시오.
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이 덮어쓰기 때문에 괜찮습니다.
※ 크레덴셜 스토어를 회복해야 합니다.
Reference
이 문제에 관하여(Docker Desktop에서 WSL2로만 이동하는 Docker로 이동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/taiga533/articles/11f1b21ef4a5ff텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)