Docker快速入門

上一篇 / 目錄 / 下一篇

英文原文地址在這里:https://www.docker.com/get-started

1 幾個概念

Docker可以把開發的軟件代碼以及軟件所依賴的所有運行時環境、依賴類庫都打包成一個容器鏡像,因此使用docker打包軟件可以讓程序員開發的程序運行在各種不同的計算機硬件環境中。在這篇指南中,我們將快速的使用Docker來編譯打包一個程序,在容器中運行,并且發布到Docker Hub鏡像倉庫中以供他人使用。

在開始學習Docker之前,先介紹幾個概念。

  • Docker Engine:Docker的容器運行引擎,有些文檔也用containerd來命名,這是因為Docker Engine的內核是一個名為containerd的開源軟件。

  • Docker Desktop:是運行在程序員個人電腦上的一個程序。安裝后,用戶可以使用CLI命令行工具來編譯打包容器鏡像。同時該程序也包含了Docker Engine,因此你可以在個人電腦上運行Docker鏡像。

  • Docker CLI: Docker Desktop提供的命令行工具,即docker 命令。

  • Docker Image(Docker鏡像): 使用Docker Desktop打包生成的一種容器鏡像。

2 下載Docker Desktop

登錄Docker Hub之后,在頁面中可以點擊"Get started with Docker Desktop"下載Docker Desktop。

Docker Hub

點擊Download Docker Desktop for Windows 按鈕下載并安裝。


下載

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


docker info

3 Clone Docker example

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

Clone

4 Build

編譯打包這個Docker鏡像。Docker Image (Docker 鏡像)是一個私有的文件系統,在運行時會被加載到一個Docker容器之中。使用下面的命令編譯打包:

cd doodle\cheers2019
docker build -t <dockerid>/cheers2019 .

提示:不要忘記輸入上述命令末尾的小數點。將<dockerid>替換為你的docker id。如果在打包過程中遇到網絡連接的問題,可能需要設置代理,方法是使用以下命令:

docker build --build-arg http_proxy=http://proxy:8080 --build-arg https_proxy=http://proxy:8080 -t <dockerid>/cheers2019 .

使用docker help可以查看CLI的幫助文檔。針對某個命令,可以使用docker COMMAND --help查看這個命令的詳細文檔。比如:

docker help

5 Run

執行下面的命令運行你的容器:
docker run -it --rm <dockerid>/cheers2019
其中<dockerid>為你的Docker ID。

當容器正常啟動后,打包在容器中的程序就會被啟動并執行。你應該會看到下面這樣的界面:


Cheers2019

6 Publish

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

docker login

docker push <dockerid>/cheers2019

Congratulations! 你成功發布了一個Docker鏡像。

上一篇 / 目錄 / 下一篇

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、概述 Docker is the world’s leading software container pla...
    凜_冬_將_至閱讀 300評論 0 0
  • Docker Docker 核心概念及入門 什么是docker Docker是一個開放源代碼軟件項目,讓應用程序布...
    janlle閱讀 521評論 0 1
  • Docker是什么 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器...
    beyound87閱讀 327評論 0 1
  • docker已經是一年前的時候學習的了,當時,不會go語言。工作中一直沒有使用,已經忘光了。在放假前,sdk那邊說...
    若與閱讀 1,405評論 2 14
  • 其實到了學期末領著孩子們復習,是一件很煎熬的事情,網上有一個段子是這樣說的: 本以為復習是查漏補缺, 復習了...
    靜心_靜語閱讀 370評論 0 0