Anda dapat menggunakan Docker Desktop untuk Windows sebagai mesin dan Docker untuk Linux sebagai klien di WSL di Ubuntu / Debian di Windows. Hubungkan mereka melalui TCP.
Instal Docker Desktop untuk Windows: https://hub.docker.com/editions/community/docker-ce-desktop-windows
Jika Anda ingin menggunakan Windows Containers dan bukan Linux Containers, kedua jenis container dapat dikelola oleh klien docker Linux di bash userspace.
Sejak versi 17.03.1-ce-win12 (12058) Anda harus memeriksa Expose daemon di tcp: // localhost: 2375 tanpa TLS untuk memungkinkan klien Linux Docker untuk terus berkomunikasi dengan daemon Windows Docker oleh TCP
Ikuti langkah ini:
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
atau
env DOCKER_HOST=tcp://0.0.0.0:2375 ./docker ps
Untuk membuatnya permanen:
mkdir ~/bin
mv ~/docker/docker ~/bin
Tambahkan variabel yang sesuai ke .bashrc
export DOCKER_HOST=tcp://0.0.0.0:2375
export PATH=$PATH:~/bin
Tentu saja, Anda dapat menginstal buruh pelabuhan
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
Atau menggunakan pip python
sudo apt-get install python-pip bash-completion
sudo pip install docker-compose
Dan selesai Bash. Bagian terbaik:
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
Saya sudah mengujinya menggunakan versi Docker Desktop versi 2.1.0.1 (37199) menggunakan 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**
Volume
Hati-hati saat menambahkan volume. Path C:\dir
akan terlihat seperti /mnt/c/dir
pada WSL dan seperti /c/dir/
oleh mesin buruh pelabuhan. Anda dapat mengatasinya secara permanen:
sudo bash -c "echo -e '[automount] \nroot = /'>/etc/wsl.conf"
Anda harus keluar dan memuat ulang WSL setelah melakukan perubahan ke wsl.conf sehingga WSL membaca perubahan Anda saat peluncuran.
MEMPERBARUI
dari: Apa yang baru untuk Command Line di Windows 10 versi 1803
Unix Sockets
Unix Sockets tidak didukung di Windows, dan sekarang sudah! Anda juga dapat berkomunikasi melalui soket Unix antara Windows dan WSL. Salah satu hal hebat tentang ini adalah memungkinkan WSL untuk menjalankan Linux Docker Client untuk berinteraksi dengan Docker Daemon yang berjalan pada Windows.
MEMPERBARUI
Script ini dan penggunaan Unix Socket termasuk dalam Pengwin pengwin-pengaturan 's.
Salam
bash
pengguna. Ini adalah ruang pengguna Linux yang nyata dan cukup lengkap, tetapi tanpa X Windows hanya teks. Mengatakan "bash" mengkomunikasikan batasan teks saja dengan cukup baik ..