Docker快速入門

上一篇 / 目錄 / 下一篇

英文原文地址在這里: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。

Docker Hub

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


下載

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


docker info

3 Clone Docker example

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

Clone

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ì)文檔。比如:

docker help

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ì)看到下面這樣的界面:


Cheers2019

6 Publish

把你的Docker鏡像分享出來,發(fā)布到Docker Hub上。方法是執(zhí)行以下命令:

docker login

docker push <dockerid>/cheers2019

Congratulations! 你成功發(fā)布了一個(gè)Docker鏡像。

上一篇 / 目錄 / 下一篇

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、概述 Docker is the world’s leading software container pla...
    凜_冬_將_至閱讀 348評(píng)論 0 0
  • Docker Docker 核心概念及入門 什么是docker Docker是一個(gè)開放源代碼軟件項(xiàng)目,讓應(yīng)用程序布...
    janlle閱讀 559評(píng)論 0 1
  • Docker是什么 Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器...
    beyound87閱讀 389評(píng)論 0 1
  • docker已經(jīng)是一年前的時(shí)候?qū)W習(xí)的了,當(dāng)時(shí),不會(huì)go語言。工作中一直沒有使用,已經(jīng)忘光了。在放假前,sdk那邊說...
    若與閱讀 1,479評(píng)論 2 14
  • 其實(shí)到了學(xué)期末領(lǐng)著孩子們復(fù)習(xí),是一件很煎熬的事情,網(wǎng)上有一個(gè)段子是這樣說的: 本以為復(fù)習(xí)是查漏補(bǔ)缺, 復(fù)習(xí)了...
    靜心_靜語閱讀 420評(píng)論 0 0

友情鏈接更多精彩內(nèi)容