Docker的基本概念和常用命令

2021-10-23 02:57:38 字數 3003 閱讀 9829

1.映象(image)

docker 映象是⼀個特殊的⽂件系統,除了提供容器運⾏時所需的程式、庫、資源、配置等 ⽂件外,還包含了⼀些為運⾏時準備的⼀些配置引數(如匿名卷、環境變數、⽤戶等)。

映象不包含任何動態資料,其內容在構建之後也不會被改變。

映象構建時,會⼀層層構建,前⼀層是後⼀層的基礎。每⼀層構建完就不會再發⽣改變, 後⼀層上的任何改變只發⽣在⾃⼰這⼀層

2.容器(container)

容器的實質是程序,但與直接在宿主執⾏的程序不同,容器程序運⾏於屬於⾃⼰的獨⽴的 命名空間。因此容器可以擁有⾃⼰的 root ⽂件系統、⾃⼰的⽹絡配置、⾃⼰的程序空間, 甚⾄⾃⼰的⽤戶 id 空間。容器內的程序是運⾏在⼀個隔離的環境⾥,使⽤起來,就好像是 在⼀個獨⽴於宿主的系統下操作⼀樣。

映象(image)和容器(container)的關係,就像是⾯向物件程式設計中的 類 和 例項 ⼀ 樣,映象是靜態的定義,容器是映象運⾏時的實體。容器可以被建立、啟動、停⽌、刪 除、暫停等。

3.倉庫(registry)

映象構建完成後,可以很容易的在當前宿主機上運⾏,但是,如果需要在其它伺服器上使 ⽤這個映象,我們就需要⼀個集中的儲存、分發映象的服務,docker registry 就是這樣的 服務

1.拉取第乙個映象

docker pull ubuntu
2.執行hello world
docker run ubuntu /bin/echo "hello world"
命令執行的過程解析:

先找到ubuntu的映象,通過映象開啟乙個程序(echo程序),

列印「hello world」,列印完後,退出容器(但並未銷毀)

3.檢視容器和映象:
docker images           :檢視所有的映象

docker container ls :檢視當前執行中的容器

docker container ls -a :檢視所有的容器

docker ps :檢視當前執行中的容器

docker ps -a :檢視所有的容器

4.執行容器

docker run -it ubuntu /bin/bash
在容器中可以執行任何操作,而不用擔心對系統造成破壞

需要從容器中退出時,按 ctrl + d 組合鍵即可

5.刪除容器

1.prune:刪除所有停止的容器

docker container prune
2.rm:刪除指定的容器

docker  rm  +容器id
6.搜尋映象
docker  search  django
搜尋結果會顯示如下幾列資訊:

7.刪除映象

docker   image   rm  +映象名

docker rmi +映象名

8.執行容器:run
run命令可以建立啟動乙個新的容器:

-i:讓容器的標準輸入保持開啟

-t:讓容器分配乙個偽終端,方便進入容器除錯

-d:讓容器進入後台執行

-w:指定進入容器後的工作目錄

-h:為容器指定⼀個主機名,預設情況下容器的主機名便是容器的 id (⼀個16進製制隨機數)

--name: 為容器分配⼀個名字 (不能與當前已有容器重名),預設情況下,容器名稱由 docker 引擎隨機產⽣

--rm:容器執行結束後自動刪除

9.檢視容器中的程序

檢視後台執行中的容器,內部執行的狀況,使用命令:

docker  top

+容器名或容器id

10.啟動停止的容器

正常情況下,docker容器停止後,並不會自動刪除,

可以通過命令docker ps -a命令來檢視已經停止的容器

然後通過start命令將其重新啟動:

docker   start

+容器名或容器id

對於執行中的容器,我們可以使用命令restart命令進行重啟:

docker  restart   +容器名或容器id
11.進入執行中的容器

如果乙個容器正在後台執行,進入其中進行除錯,可以使用命令attach

docker   attach   容器名或容器id
但是attach有⼀個缺點,就是當你對容器維護完成,想退出來時,不可避免的會造成容 器停⽌。

docker   exec

-it 容器名或容器id /bin/bash

12.終止容器

如果已經處於容器中,直接輸⼊exit或者按快捷鍵ctrl + d便可退出並終⽌容器。 對於處於後台運⾏的容器如果想要停⽌,可以使⽤stop命令:

docker   stop  + 容器名或id

或docker container stop 容器名或容器id

映象操作常用命令:

Docker基本概念

docker是開發人員和系統管理員構建,發布和執行應用程式的平台。docker允許您快速使用元件組裝應用程式,並消除運送 時可能產生的改變。docker允許您盡快測試並將 部署到生產環境中。docker可以簡化軟體交付,是通過簡化構建包含應用程式整個環境或應用程式作業系統的映象,並共享這個映象。應用...

Docker基本概念

docker 包括三個基本概念 理解了這三個概念,就理解了 docker 的整個生命週期。docker 映象就是乙個唯讀的模板。例如 乙個映象可以包含乙個完整的 ubuntu 作業系統環境,裡面僅安裝了 apache 或使用者需要的其它應用程式。映象可以用來建立 docker 容器。docker 利...

docker基本概念

集群 乙個集群指容器執行所需要的雲資源組合,關聯了若干伺服器節點 負載均衡 專有網路等雲資源。節點 一台伺服器 可以是虛擬機器例項或者物理伺服器 已經安裝了 docker engine,可以用於部署和管理容器 容器服務的 agent 程式會安裝到節點上並註冊到乙個集群上。集群中的節點數量可以伸縮。容...