前言
終於進入最後一個主題:Docker。
Docker 是近幾年相當熱門的技術,但我卻到近一個月才開始學習與了解這項技術,本身觀念與實作方面尚未成熟,若有觀念錯誤或任何建議,真誠的希望各位先進指點。這套作業系統虛擬化軟體專案大大改變個人對於傳統伺服器、虛擬機器持續整合與自動化流程的想法。原先 Docker 並未規劃本系列文章之類,而想藉由這次鐵人賽邊學習邊撰寫,開賽前規劃約 5 篇講述這個主題,而至上星期為止,因為多補充了幾篇文章而減少至三篇。這三篇將會以安裝、指令操作、.NET Core 與 TeamCity為主。本系列實作與測時的環境為:
- Windows 10
- Docker V1.13.0-rc4-beta34(9562)
介紹
安裝
Step 1. 到 docker 官方網站 docker for window 網頁進行下載(我們下載beta版本)
Step 2. 點選兩下進行安裝,勾選 I accept the terms in the license agreement後,點選 Install
Step 3.安裝中
Step 4.安裝完成,點選 Finish
註1:請確認您電腦 BIOS有開啟虛擬化(virtualization,windows內稱模擬)
註2:請確認您電腦有安裝 Hyper-V
Step 5.若安裝完成,右下角會有鯨魚的標誌,右鍵點選後選擇setting,即可看到目前docker運作狀態
名詞解釋
- Image 印像檔 : 不可讀寫,可以透過指令建立成為 Container,再進一步你想要的佈署或操作。
- Container 容器 : 可開啟、執行程式、讀寫...等操作,可以透過指令建立 Image 提供其他人下載使用。
- Repository 儲存庫 : 與 Git 類似,用於存放印象檔的地方。
- Docker Hub : 與 GitHub 相似,用於存放與管理許多 Repository 地方。
- Dockerfile : 定義指令。您可以透過自動化執行dockerfile內的指令,進而完成建立 image。
- Compose : 定義多個容器執行與互動的工具。
指令使用
我們將簡單介紹一些指令的運用。
- 您可以透過 docker version,確認 Client 與 Server 相關資訊
docker version
若您與本篇安裝一樣是 docker beta,你可以切換 server os/arch
- 您可以透過 docker pull 從docker hub 或其他管理網站(依據印象檔名稱)下載印象檔,您可以上docker hub網站上搜尋你要的印象檔,下方指令為下載 microsoft/dotnet 印象檔
docker pull microsoft/dotnet:latest
- 您可以透過 docker images 列出你目前本地所有的印象檔
docker images
- 您可以透過 docker run 將你的印象檔建置成容器並與其互動(透過exit 離開容器)。
docker run -it microsoft/dotnet:latest
docker run --name container_name -it microsoft/dotnet:latest
--name container_name:可以指定容器名稱,方便後續指令操作,若沒有給系統會自動給(一組形容詞+人名)。
-it:可以與容器互動
- 若您想要建立一個 .Net Core Web App,你可以用下列指令先進入container
docker run -p 8000:80 -e "ASPNETCORE_URLS=http://+:80" -it --rm microsoft/dotnet
在使用我們在.NET Core 安裝與介紹的指令,建立 .Net Core Web App
mkdir app
cd app
dotnet new -t web
dotnet restore
dotnet run
啟動後直接在 host 開啟瀏覽器,輸入 http://localhost:8000
- 您可以透過 docker ps 與 docker ps -a 顯示目前正在運作的 container 與 運作結束的 container
docker ps
docker ps -a
- 您可以透過 docker rm 移除 container (f02為 container id,不需要完整輸入)
docker rm f02
- 您可以透過 docker rmi 移除 image (f02為 image id,不需要完整輸入)
docker rmi f02
上一篇:Skype Bot 與 TeamCity 整合 2 - TeamCity Notification
下一篇:Docker : aspnetcore image , Dockerfile 與 Docker hub
返回目錄
參考資料
註:本系列文章將於2016 IT邦幫忙鐵人賽進行同時,一併發佈於個人blogger與dotblog。