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.)