在 Windows Subsystem for Linux (WSL) 下使用 Windows 上的 Docker Engine

Windows 下的 Docker

為什麼要做這件事?

在 Windows 10 下有 Windows Subsystem for Linux (WSL) 讓使用者可以有一個 Ubuntu 或其它 Linux 系統的 Bash 環境來做事,而 Docker 也出了適用於 Windows 10 的版本,但是要操作這個 Docker engine 就要用 Windows 下的命令提示字元(Command Prompt)或 PowerShell 下來執行 docker 相關指令,如果想要在 WSL 下使用系統上安裝的 Docker engine,可以依照下列步驟來進行調整。

設定步驟

  1. 打開 Windows 下 Docker 的設定界面,將 Expose daemon on tcp://localhost:2375 without TLS 的選項打開。
  2. 打開 WSL 的 Bash,用編輯器修改 ~/.bashrc 檔案,加入下列內容:
    PATH="$PATH:/mnt/c/Program\ Files/Docker/Docker/resources/bin"
    alias docker=docker.exe
    alias docker-machine=docker-machine.exe
    alias docker-compose=docker-compose.exe
    export DOCKER_HOST="tcp://localhost:2375"
  3. 在 sudoer 中加入 DOCKER_HOST 這個環境變數到預設環境中,先執行 sudo visudo 然後加入下面這一行:
    Defaults env_keep += "DOCKER_HOST"
  4. 重開 WSL 的 Bash(或是執行 source ~/.bashrc )就可以試試看是否生效了。