คุณสามารถใช้ Docker Desktop สำหรับ Windows เป็นเอ็นจิ้นและ Docker สำหรับ Linux เป็นไคลเอนต์ใน WSL บน Ubuntu / Debian บน Windows เชื่อมต่อผ่าน TCP
ติดตั้ง Docker Desktop สำหรับ Windows: https://hub.docker.com/editions/community/docker-ce-desktop-windows
หากคุณต้องการใช้ Windows Containers แทน Linux Containers ทั้งสองประเภทสามารถจัดการได้โดยไคลเอนต์ Linux docker ใน bash userspace
ตั้งแต่เวอร์ชัน 17.03.1-ce-win12 (12058) คุณต้องตรวจสอบExpose daemon บน tcp: // localhost: 2375 โดยไม่มี TLSเพื่ออนุญาตให้ไคลเอ็นต์ Linux Docker สื่อสารกับ Windows Docker daemon โดย TCP ต่อไป
ทำตามขั้นตอนเหล่านี้:
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
แน่นอนคุณสามารถติดตั้งนักเทียบท่าได้
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
ฉันได้ทำการทดสอบโดยใช้ Docker Desktop เวอร์ชั่น 2.1.0.1 (37199) โดยใช้ Hyper-V:
$ 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 อีกครั้งหลังจากทำการเปลี่ยนแปลงเป็น wsl.conf เพื่อให้ WSL อ่านการเปลี่ยนแปลงของคุณเมื่อเริ่มต้น
UPDATE
จาก: มีอะไรใหม่สำหรับ Command Line ใน Windows 10 เวอร์ชั่น 1803
Unix Sockets
Unix Sockets ไม่ได้รับการสนับสนุนบน Windows และตอนนี้ก็คือ! คุณสามารถสื่อสารผ่านซ็อกเก็ต Unix ระหว่าง Windows และ WSL หนึ่งในสิ่งที่ยอดเยี่ยมเกี่ยวกับสิ่งนี้คือมันช่วยให้ WSL สามารถรันไคลเอ็นต์ Linux Docker เพื่อโต้ตอบกับ Docker Daemon ที่ทำงานบน Windows
UPDATE
สคริปต์นี้และการใช้ระบบปฏิบัติการยูนิกซ์ Sockets ถูกรวมอยู่ในPengwin pengwin การติดตั้ง 's
ความนับถือ
bash
userspace เป็นพื้นที่ผู้ใช้ Linux ที่สมบูรณ์และเป็นธรรม แต่ไม่มี X Windows เช่นข้อความเท่านั้น พูดว่า "ทุบตี" สื่อสารข้อ จำกัด ข้อความเท่านั้นค่อนข้างดี ..