# 設定 Windows 10 (版本 1809) 的 Windows 容器預設採用 process 隔離模式

從 Windows 10 (版本 1809) 開始，Windows 容器正式支援**處理序隔離模式** (`--isolation=process`)，在這之前都只支援 **Hyper-V 隔離模式** (`--isolation=hyperv`)，這兩種模式最大的差異在於**啟動速度**與**容器隔離性**。不過，雖然 Windows 10 (版本 1809) 已經支援處理序隔離，但預設值卻還是以 Hyper-V 隔離模式為主，本篇文章將說明如何將預設值切換到**處理序隔離模式**。

1.  請記得先切換到 Windows 容器 (Switch to Windows containers)，切換成功後在執行 **Settings** 設定
    
    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/c3837bdbc57cc8b5e38d-SNAGHTML11e2f8ac.png)
    
2.  切換到 Daemon 頁籤、切換至進階模式、並加入 `exec-opts` 設定
    
    加入以下設定就可以讓未來的所有 `docker run` 預設都加上 `--isolation=process` 參數！
    
    ```json
    {
      "registry-mirrors": [],
      "insecure-registries": [],
      "debug": true,
      "experimental": false,
      "exec-opts": [
        "isolation=process"
      ]
    }
    ```
    
    不過當你按下 `Apply` 之後，很有可能會出現「**拒絕存取路徑 '"C:\\ProgramData\\Docker\\config\\daemon.json"'**」的訊息，如下圖示：
    
    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/6f18a2fa68eab30def6e-image_3190.png)
    
3.  以系統管理員身分執行 Notepad 並開啟 `C:\ProgramData\Docker\config\daemon.json` 檔案
    
    你必須在這個步驟手動調整設定，並請記得存檔。
    
4.  重新啟動 Docker 服務，設定即可生效。
    

### 相關連結

-   [dockerd | Docker Documentation](https://docs.docker.com/engine/reference/commandline/dockerd/#on-windows)
-   [在 Windows 中設定 Docker | Microsoft Docs](https://learn.microsoft.com/zh-tw/virtualization/windowscontainers/manage-docker/configure-docker-daemon)
-   [Docker daemon 配置 | Learning](https://web.archive.org/web/20190825122836/https://blog.shipengqi.top/2017/12/25/docker-daemon/)
