只有累積,沒有奇蹟

2019年1月29日 星期二

[Docker] Docker for windows 初體驗

前言
Docker 是一個 open source 專案,誕生於 2013 年初,Docker 屬於 Linux 容器的一種封裝,提供了簡單且易用的容器接口,在 2016 推出 Docker for windows 版本,相信大家或多或少都聽過甚至已經有在使用,自己也接觸過 docker 一小段時間,但都屬於玩票性質未好好研究,或許在新筆電重新安裝的時候是一個好契機可以靜下心來深入研究,以下簡單介紹 Docker 在 Windows 上的安裝流程

安裝 Docker for Windows
Step 1 : 首先進入到 Docker 官網 下載 Docker Desktop for windows,我選擇下載 Stable 版本
Step 2 : 下載 Docker Windows Installer 安裝檔到 download 資料夾,接著點擊執行檔
Step 3 : 在安裝前會先詢問是否要建立快捷鍵在桌面及預設用 Linux container (設定安裝完可以再修改)
Step 4 : 按下OK後接著會進行目前穩定的 Docker 2.0.0.2 版安裝 ( 2019/1)
 
Step 5 : 安裝完後安裝程式會偵測電腦的 Hyper-V 和 Containers 功能是否有開啟,如果未開啟的話會提示將兩者設定 enable (murmur : 之前安裝時沒有這提示,實在太貼心拉!!)
Step 6 : 順利安裝完畢後,會跳出下列畫面並提示你登入你的 Docker 帳號資訊
Step 7 : 登入之後可以在螢幕右下角看到 Docker is running,代表 Docker for Windows 安裝成功,點擊 Docker 按右鍵可以看到 Docker 的資訊
Note 1 : 在 Step 3 中如果第二項預設已 Linux container 為主,在 Docker 按右鍵就可以看到選單中一項 switch to windows containers 可以針對 Windows / Linux 兩者進行切換動作
Note 2 : Step 5 步驟可以於安裝前先手動開啟設定 Container & Hyper-V,設定路徑為
控制台 > 開啟或關閉 Windows 功能 > Container & Hyper-V 兩者選項打勾 (若是啟動 Hyper-V有遇到問題可以參考 MSDN 在 Windows 10 上安裝 Hyper-V 文章)
Docker 指令
在 Docker 中有提供相當多的 command line 指令供開發者操作,詳細的 command line 說明與語法都可以在 官方文件 查詢到,在安裝完成 Docker 之後,可以執行查看版本與跑 Hello world 試試看是否正常
-   docker version  : docker version : 顯示 Docker 版本資訊
  1. PS D:\> docker version
  2. Client: Docker Engine - Community
  3. Version: 18.09.1
  4. API version: 1.39
  5. Go version: go1.10.6
  6. Git commit: 4c52b90
  7. Built: Wed Jan 9 19:34:26 2019
  8. OS/Arch: windows/amd64
  9. Experimental: false
  10.  
  11. Server: Docker Engine - Community
  12. Engine:
  13. Version: 18.09.1
  14. API version: 1.39 (minimum version 1.24)
  15. Go version: go1.10.6
  16. Git commit: 4c52b90
  17. Built: Wed Jan 9 19:50:10 2019
  18. OS/Arch: windows/amd64
  19. Experimental: false
-  docker run hello-world  Run a command in a new container
  1. PS D:\> Docker run hello-world
  2. Unable to find image 'hello-world:latest' locally
  3. latest: Pulling from library/hello-world
  4. 6a5e981230da: Pull complete
  5. dc4b656f6979: Pull complete
  6. 2848c5402b33: Pull complete
  7. 9e0171b11ac8: Pull complete
  8. Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
  9. Status: Downloaded newer image for hello-world:latest
  10.  
  11. Hello from Docker!
  12. This message shows that your installation appears to be working correctly.
  13.  
  14. To generate this message, Docker took the following steps:
  15. 1. The Docker client contacted the Docker daemon.
  16. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
  17. (windows-amd64, nanoserver-1809)
  18. 3. The Docker daemon created a new container from that image which runs the
  19. executable that produces the output you are currently reading.
  20. 4. The Docker daemon streamed that output to the Docker client, which sent it
  21. to your terminal.
  22.  
  23. To try something more ambitious, you can run a Windows Server container with:
  24. PS C:\> docker run -it mcr.microsoft.com/windows/servercore powershell
  25.  
  26. Share images, automate workflows, and more with a free Docker ID:
  27. https://hub.docker.com/
  28.  
  29. For more examples and ideas, visit:
  30. https://docs.docker.com/get-started/
程式說明 : 
  • Line 2 : 發現 local 並沒有要執行的 hello-world image
  • Line 3-9 : 到 libary 把 hello-world image pull 下來進行下載的動作
  • Line 11 : 執行結果 hello from docker
感想
以上詳細介紹了 Docker for Windows 的安裝流程,也在最後簡單說明下 command line 下 hello world 感受一下 docker,但其實這都只是的冰山一角還有更多好用功能與指令,例如說管理 container、如何建立自己的 image 印象檔、使用 docker-compose 進行部署等,更可以顯示出 Docker 的強大之處,雖來介紹文晚了別人好幾步(年),日後有時間希望可以慢慢補齊 XDDD
參考
Docker
Docker Commandline
Docker 入门教程

Related Posts:

  • [VisualStudio] 安裝 Visual Studio 新版後 Resharper 選單無故消失 ?問題 在 Visual Studio 2017 開始自己就有使用 Resharper 習慣,在跟朋友聊天時也提到 Hot key 熟系的人在 Resharper 幫助下加速更是有顯著效果,但自己由於手殘還在努力練習中,上周末筆電安裝完 Visual Studio 2019 在看有哪些好玩的功能時發現 Visual Studio Extension 的 Resharper 選單竟然消失了,這篇就分享如果遇到 Resharper … Read More
  • [NETCore] 使用 Dotnet Watch 自動編譯 ASP.NET Core 應用程式前言 在開發完代碼的時候,為了確保代碼在應用程式執行的狀況,會在 Visual Studio IDE 使用偵錯模式 F5 或是 Ctrl+F5 進行偵錯,如果執行狀況不如預期時就會關閉偵錯,重新修改代碼在編譯再重新進行偵錯,簡單來說流程像是  改 Code > 編譯 Ctrl + Shift + B > 測試 F5 or Ctrl + F5 > 不如預期 > 改 Code  ,仔細想… Read More
  • [NETCore] 移除未使用的 ASP.NET Core SDK問題  最近電腦一直跳出硬碟空間不足訊息提示,在清理硬碟的空間過程中發現電腦安裝多個版本的 ASP.NET Core SDK,身為一位專案自以為跟上技術潮流的開發人員這種狀況應該常遇到,用硬碟的空間來換取跟上潮流的速度是合情合理,但由於公司筆電硬碟空間有限口袋空空也是很苦惱,這篇文章就針對此問題的解決方式做簡單分享,若是有不清楚或是錯誤的地方歡迎討論予糾正。 解決方案 最直覺的解決方式是透過控制台應用程式,在逐步的點選每一項進行解… Read More
  • [NETCore] ASP.NET Core 設定 JSON 序列化格式前言 JSON.NET 是十分好用的套件,在 ASP.NET Core 1.0 開始內建 JSON.NET方便開發者快速使用,建立 ASP.NET Core 範本專案時會在  ConfigureServices  中的 addMVC 就可以開始使用,這篇介紹如何在 ASP.NET Core 中定義 JSON.NET 統一輸出格式的設定,若有問題歡迎留言一起討論。 範例代碼 首先建立 ASP.NET C… Read More
  • [NETCore] ASP.NET Core 啟動失敗 - failed to start process with commandline 問題  新專案使用 ASP.NET Core 2.2 開發完成並佈署至 Production 機器,在瀏覽網頁時跳出應用程式無法正常啟動的畫面,錯誤訊息為 'HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure'  ,不知為何最近跟 ASP.NET Core 啟動失敗特別有緣分 (一直常遇到這類的事情 XD),這篇文章就針對此問題的解決方式做簡單分享,… Read More

0 意見:

張貼留言

Copyright © 2025 m@rcus 學習筆記 | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com