Docker起步,第一部分:簡介與配置

原文鏈接:Part 1: Orientation and setup
預(yù)計閱讀時間:4分鐘

Hello!我們非常高興你能夠選擇學(xué)習(xí)Docker,本模塊將引導(dǎo)你如何:
1.配置你的Docker環(huán)境(本篇)
2.創(chuàng)建鏡像(image)并作為一個容器運行它
3.應(yīng)用擴容來運行多個容器
4.在集群中部署你的應(yīng)用
5.添加一個后臺數(shù)據(jù)庫為對戰(zhàn)服務(wù)
6.以產(chǎn)品的形式部署你的應(yīng)用

Docker 概念(Docker concepts)

Docker是一個為開發(fā)者與系統(tǒng)管理員提供開發(fā),部署運行包含應(yīng)用的容器功能的平臺。在Linux容器中部署應(yīng)用的用法叫做容器化(containerization)。容器并不一個很新的概念,但他們可以用來更簡單的部署應(yīng)用。

容器化日漸流行是因為容器:

  • 靈活性:甚至最復(fù)雜的應(yīng)用也可以被容器化
  • 輕量級:容器可以利用并分享主機的內(nèi)核
  • 可互換性:可以動態(tài)部署更新和升級
  • 便攜性:可以在本地build,在云服務(wù)部署,并可以再任何地方運行
  • 可擴容性:可以增加和動態(tài)分發(fā)到?jīng)]個容器的副本中(replicas
  • 可堆疊行:可以垂直和動態(tài)的堆疊服務(wù)

鏡像和容器(Images and containers)

運行一個鏡像來啟動一個容器。鏡像(image)是一個包含了所有運行需要的東西的可運行包--代碼,運行時,庫,環(huán)境變量和配置文件。
容器(container)則是一個鏡像運行的實例--鏡像運行時在內(nèi)存中會變成的樣子(可能是一個帶有狀態(tài)的鏡像,或是一個用戶線程)。你可以用命令docker ps看到當(dāng)前正在運行的容器列表,就想在Linux中一樣。

容器與虛擬機(Containers and virtual machines)

容器在Linux本地運行并與其他容器分享使用主機的內(nèi)核。它的運行一個獨立的進程,不會比其他可執(zhí)行應(yīng)用占用更多內(nèi)存,這使得它更輕量級。
相比之下,虛擬機(virtual machine VM)通過超級管理員虛擬訪問 virtual access主機資源來運行一個完整的“guest”操作系統(tǒng)。通常的,虛擬機提供了超出大多應(yīng)用所需要的資源環(huán)境。

容器與虛擬機的對比

準(zhǔn)備你的Docker環(huán)境

支持平臺 supported platform安裝Docker Community Edition (CE) 或 Enterprise Edition (EE) 的維護版本 maintained version

完成Kubernetes集成

測試Docker版本(Test Docker version)

1.運行docker --version并確認已經(jīng)有Docker的支持版本

docker --version
Docker version 18.03.1-ce, build 9ee9f40

2.運行docker info(或者docker version 沒有--)來查看更多docker的信息

localhost:~ yichen$ docker info
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 9
Server Version: 18.03.1-ce
Storage Driver: overlay2
...

測試Docker安裝

1.運行一個簡單的Docker鏡像來測試你的安裝是否奏效, hello-world:

localhost:~ yichen$ docker run hello-world

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

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

2.列出已經(jīng)下載到你的機器中的hello-world鏡像

docker image ls

3.列出在顯示消息后退出的hello-world的容器container(因image而產(chǎn)生的),如果他依舊在運行,則不需要添加--all選項

localhost:~ yichen$ docker container ls --all
CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                      PORTS               NAMES
482e93ce5196        hello-world         "/hello"            Less than a second ago   Exited (0) 31 seconds ago                       focused_varahamihira

作弊表???秘籍??(Recap and cheat sheet)

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

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

## 運行Docker鏡像
docker run hello-world

## 列出Docker鏡像
docker image ls

## 列出Docker容器 (正在運行, 所有, 所有處在靜默模式)
docker container ls
docker container ls --all
docker container ls -aq

總了個結(jié)(Conclusion of part one)

容器化使得持續(xù)集成/持續(xù)部署無縫化,舉幾個例子:

  • 應(yīng)用沒有系統(tǒng)依賴
  • 更新可以被推送到分布式應(yīng)用的任意一個部分
  • 資源可以被充分利用

使用Docker,擴展應(yīng)用程序的問題在于啟動新的可執(zhí)行文件,而不是運行繁重的VM主機。

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

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

  • 《Docker從入門到實踐》閱讀筆記 原書地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo閱讀 11,633評論 1 39
  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,844評論 15 147
  • 寫這篇文章主要是為了今后畢業(yè)論文素材上的整理,同時對docker進行鞏固溫習(xí)。大綱: docker簡介docker...
    胡圖仙人閱讀 7,766評論 2 96
  • 住所暫定,雖然只有公共衛(wèi)生間,但是不能洗澡,搜索了校園之后,找到了公共浴室,決定今天去公共浴室洗一洗,從開始北漂到...
    拾捌學(xué)仕閱讀 481評論 1 1
  • 文/陌宇軒 (黑龍江) 年輕的時候 我是真喜歡萱草花呀 每到下課 我就會溜到學(xué)校后院的后山采上一捧 我喜形于色 我...
    小哲小詩閱讀 167評論 0 0

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