英文原文地址在這里:https://www.docker.com/get-started
1 幾個(gè)概念
Docker可以把開發(fā)的軟件代碼以及軟件所依賴的所有運(yùn)行時(shí)環(huán)境、依賴類庫都打包成一個(gè)容器鏡像,因此使用docker打包軟件可以讓程序員開發(fā)的程序運(yùn)行在各種不同的計(jì)算機(jī)硬件環(huán)境中。在這篇指南中,我們將快速的使用Docker來編譯打包一個(gè)程序,在容器中運(yùn)行,并且發(fā)布到Docker Hub鏡像倉庫中以供他人使用。
在開始學(xué)習(xí)Docker之前,先介紹幾個(gè)概念。
Docker Engine:Docker的容器運(yùn)行引擎,有些文檔也用containerd來命名,這是因?yàn)镈ocker Engine的內(nèi)核是一個(gè)名為containerd的開源軟件。
Docker Desktop:是運(yùn)行在程序員個(gè)人電腦上的一個(gè)程序。安裝后,用戶可以使用CLI命令行工具來編譯打包容器鏡像。同時(shí)該程序也包含了Docker Engine,因此你可以在個(gè)人電腦上運(yùn)行Docker鏡像。
Docker CLI: Docker Desktop提供的命令行工具,即docker 命令。
Docker Image(Docker鏡像): 使用Docker Desktop打包生成的一種容器鏡像。
2 下載Docker Desktop
登錄Docker Hub之后,在頁面中可以點(diǎn)擊"Get started with Docker Desktop"下載Docker Desktop。

點(diǎn)擊Download Docker Desktop for Windows 按鈕下載并安裝。

當(dāng)Docker Desktop 安裝好并啟動(dòng)運(yùn)行之后,你可以在命令行工具中使用Docker CLI。例如運(yùn)行docker info。如果一切正常,將看到下面的輸出日志:

3 Clone Docker example
接下來下載一個(gè)Docker的演示程序。打開CMD 或 PowerShell,執(zhí)行以下命令下載一個(gè)github repository:
git clone https://github.com/docker/doodle.git

4 Build
編譯打包這個(gè)Docker鏡像。Docker Image (Docker 鏡像)是一個(gè)私有的文件系統(tǒng),在運(yùn)行時(shí)會(huì)被加載到一個(gè)Docker容器之中。使用下面的命令編譯打包:
cd doodle\cheers2019
docker build -t <dockerid>/cheers2019 .
提示:不要忘記輸入上述命令末尾的小數(shù)點(diǎn)。將<dockerid>替換為你的docker id。如果在打包過程中遇到網(wǎng)絡(luò)連接的問題,可能需要設(shè)置代理,方法是使用以下命令:
docker build --build-arg http_proxy=http://proxy:8080 --build-arg https_proxy=http://proxy:8080 -t <dockerid>/cheers2019 .
使用docker help可以查看CLI的幫助文檔。針對(duì)某個(gè)命令,可以使用docker COMMAND --help查看這個(gè)命令的詳細(xì)文檔。比如:

5 Run
執(zhí)行下面的命令運(yùn)行你的容器:
docker run -it --rm <dockerid>/cheers2019
其中<dockerid>為你的Docker ID。
當(dāng)容器正常啟動(dòng)后,打包在容器中的程序就會(huì)被啟動(dòng)并執(zhí)行。你應(yīng)該會(huì)看到下面這樣的界面:

6 Publish
把你的Docker鏡像分享出來,發(fā)布到Docker Hub上。方法是執(zhí)行以下命令:
docker login
docker push <dockerid>/cheers2019
Congratulations! 你成功發(fā)布了一個(gè)Docker鏡像。