問題
接獲同事詢問在安裝完 Docker for Windows 之後,練習指令 docker pull image 時候跳出異常訊息,訊息內容為 image operating system "windows" cannot be used on this platform ,回想起自己一開始觀念不熟悉時也發生過類似問題,錯誤訊息如下所示
在 Windows 10 周年的更新時宣布新增 Container 功能,透過安裝步驟可以在 Windows 10 上使用 Docker 運行 Linux 或是 Windows 容器,但無法同時運行兩種引擎,如果要切換可以透過 Docker for windows 的選單功能或是下指令進行切換引擎的動作,那麼如何知道目前使用什麼引擎呢 ? 可以透過指令 docker version 得知目前使用的引擎,如下圖所示紅色框框處顯示為 Linux/amd64
接著從錯誤訊息可以得知,所要執行 image 僅能在 window docker上跑,因此所要進行的動作很簡單就是把引擎切換到 windows 上 ( 預設安裝完會跑 Linux ),有兩種方式可以切換
使用指令
透過指令進行切換
在 Docker 選單按右鍵 > switch to windows container
接著會跳出提示在切換期間無法管理 container,按下 switch 繼續
看到鯨魚在一直游泳游泳游泳,然後就完成了
建議直接打指令方式切換,速度上與第二種差很多 XDD
切換完畢之後再透過指令 docker version 確認是否切換成功,已順利切換為 windows container
接著在重新 pull 稍早失敗的 image 即可正常
Happy coding !!
參考
build-your-first-docker-windows-server-container
run-linux-and-windows-containers-on-windows-10
接獲同事詢問在安裝完 Docker for Windows 之後,練習指令 docker pull image 時候跳出異常訊息,訊息內容為 image operating system "windows" cannot be used on this platform ,回想起自己一開始觀念不熟悉時也發生過類似問題,錯誤訊息如下所示
PS C:\marcustung> docker pull someone/image:latest latest: Pulling from someone/image 65014b3c3121: Pulling fs layer 1329b41e943f: Waiting image operating system "windows" cannot be used on this platform解決方案
在 Windows 10 周年的更新時宣布新增 Container 功能,透過安裝步驟可以在 Windows 10 上使用 Docker 運行 Linux 或是 Windows 容器,但無法同時運行兩種引擎,如果要切換可以透過 Docker for windows 的選單功能或是下指令進行切換引擎的動作,那麼如何知道目前使用什麼引擎呢 ? 可以透過指令 docker version 得知目前使用的引擎,如下圖所示紅色框框處顯示為 Linux/amd64
接著從錯誤訊息可以得知,所要執行 image 僅能在 window docker上跑,因此所要進行的動作很簡單就是把引擎切換到 windows 上 ( 預設安裝完會跑 Linux ),有兩種方式可以切換
使用指令
透過指令進行切換
& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon .透過選單
在 Docker 選單按右鍵 > switch to windows container
接著會跳出提示在切換期間無法管理 container,按下 switch 繼續
看到鯨魚在一直游泳游泳游泳,然後就完成了
建議直接打指令方式切換,速度上與第二種差很多 XDD
切換完畢之後再透過指令 docker version 確認是否切換成功,已順利切換為 windows container
接著在重新 pull 稍早失敗的 image 即可正常
Happy coding !!
參考
build-your-first-docker-windows-server-container
run-linux-and-windows-containers-on-windows-10