Docker學習-Docker概念和基本操作

英文文檔:https://docs.docker.com/get-started/#images-and-containers

1.什麼是Docker

Docker是開發人員和系統管理員使用容器開發,部署和運行應用程序的平臺。使用Linux容器部署應用程序稱爲容器化。容器不是新的技術(基於LXC 的高級容器引擎),但它們用於輕鬆部署應用程序。

容器的優點:
- 靈活:即使是最複雜的應用也可以集裝箱化。
- 輕量級:容器利用並共享主機內核。
- 可互換:您可以即時部署更新和升級。
- 便攜式:您可以在本地構建,部署到雲,並在任何地方運行。
- 可擴展:您可以增加並自動分發容器副本。
- 可堆疊:您可以垂直和即時堆疊服務。

2.鏡像(image)和容器(containers)

通過運行鏡像啓動容器。鏡像是一個可執行包,包含運行應用程序所需的所有內容 - 代碼,運行時,庫,環境變量和配置文件。

容器是圖像的運行時實例 - 鏡像在執行時在內存中爲具有狀態的鏡像或用戶進程。您可以使用命令docker ps查看正在運行的容器列表,就像在Linux中一樣。

可以把Image比作Java中的類,containers比作對象

3.容器和虛擬機的區別

容器在Linux上本機運行,並與其他容器共享主機的內核。它運行一個獨立的進程,不佔用任何其他可執行文件的內存,使其輕量級。

相比之下,虛擬機(VM)運行一個完整的“客戶”操作系統,通過虛擬機管理程序對主機資源進行虛擬訪問。通常,VM提供的環境比大多數應用程序需要的資源更多。

Container stack example Virtual machine stack example


4.基本操作

4.1 運行docker –version並確保您擁有受支持的Docker版本

$ docker --version

4.2 運行docker info 或(不帶– 的docker version)以查看有關docker安裝的更多詳細信息

$ docker info

或

$ docker version

4.3 通過運行簡單的Docker鏡像hello-world來測試您的安裝是否有效

$ docker run hello-world

#以下是輸出信息
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

4.4 列出下載到您的計算機的hello-world映像

$ docker image ls

4.5 查看正在運行和運行結束的容器(不加–all只能查看正在運行的容器)

$ docker container ls --all

5.總結

## Docker CLI 命令列表
docker
docker container --help

## 顯示Docker版本和信息
docker --version
docker version
docker info

## 運行鏡像
docker run hello-world

## 鏡像列表
docker image ls

## 容器列表 (運行中, 全部, 已結束)
docker container ls
docker container ls --all
docker container ls -aq

容器化使CI / CD無縫。例如:

  • 應用程序沒有系統依賴性
  • 可以將更新推送到分佈式應用程序的任何部分
  • 資源密度可以優化。

使用Docker,擴展應用程序的問題在於啓動新的可執行文件,而不是運行繁重的虛擬機。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章