Windows 용 Docker Desktop을 엔진으로, Linux 용 Docker를 Ubuntu / Debian (Windows)의 WSL에서 클라이언트로 사용할 수 있습니다. TCP를 통해 연결하십시오.
Windows 용 Docker Desktop을 설치하십시오. https://hub.docker.com/editions/community/docker-ce-desktop-windows
Linux 컨테이너 대신 Windows 컨테이너를 사용하려는 경우 두 유형 컨테이너는 Linux Docker 클라이언트에서 관리 할 수 있습니다. bash 사용자 공간.
버전 17.03.1-ce-win12 (12058) 부터 Linux Docker 클라이언트가 TCP를 통해 Windows Docker 데몬과 계속 통신 할 수 있도록 TLS없이 tcp : // localhost : 2375에서 Expose 데몬을 확인해야합니다 .
이 단계를 따르세요:
cd
wget https://download.docker.com/linux/static/stable/`uname -m`/docker-19.03.1.tgz
tar -xzvf docker-*.tgz
cd docker
./docker -H tcp://0.0.0.0:2375 ps
또는
env DOCKER_HOST=tcp://0.0.0.0:2375 ./docker ps
영구적으로 만들려면
mkdir ~/bin
mv ~/docker/docker ~/bin
해당 변수를 .bashrc에 추가하십시오.
export DOCKER_HOST=tcp://0.0.0.0:2375
export PATH=$PATH:~/bin
물론 docker-compose를 설치할 수 있습니다
sudo -i
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
또는 파이썬 핍 사용
sudo apt-get install python-pip bash-completion
sudo pip install docker-compose
그리고 배쉬 완성. 가장 좋은 부분:
sudo -i
apt-get install bash-completion
curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker > /etc/bash_completion.d/docker
curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
Hyper-V를 사용하는 2.1.0.1 (37199) 버전의 Docker Desktop을 사용하여 테스트했습니다.
$ docker version
Client: Docker Engine - Community
Version: 19.03.1
API version: 1.40
Go version: go1.12.5
Git commit: 74b1e89e8a
Built: Thu Jul 25 21:17:37 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.1
API version: 1.40 (minimum version 1.12)
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:17:52 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.6
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
Look both client and server say **OS/Arch: linux/amd64**
볼륨
볼륨을 추가 할 때주의하십시오. 경로 C:\dir
는 /mnt/c/dir
WSL과 /c/dir/
도커 엔진으로 표시됩니다. 영구적으로 극복 할 수 있습니다.
sudo bash -c "echo -e '[automount] \nroot = /'>/etc/wsl.conf"
wsl.conf를 변경 한 후 WSL이 시작시 변경 사항을 읽도록 WSL을 종료했다가 다시로드해야합니다.
최신 정보
from : Windows 10 버전 1803의 명령 줄의 새로운 기능
유닉스 소켓
유닉스 소켓은 Windows에서 지원되지 않았으며 이제는 지원됩니다! Windows와 WSL간에 Unix 소켓을 통해 통신 할 수도 있습니다. 이것에 대한 가장 큰 장점 중 하나는 WSL이 Linux Docker Client를 실행하여 Windows에서 실행되는 Docker Daemon과 상호 작용할 수 있다는 것입니다.
최신 정보
이 스크립트와 유닉스 소켓 사용은 Pengwin 의 pengwin-setup 에 포함되었습니다 .
문안 인사
bash
사용자 공간을 "단지"하지 않습니다 . 그것은 실제적이고 상당히 완전한 Linux 사용자 공간이지만 X Windows 즉 텍스트 만 없습니다. "bash"는 텍스트 전용 제한을 아주 잘 전달합니다.