網(wǎng)站備案 深圳廣告投放的方式有哪些
什么是Docker Image?
Docker鏡像(Docker Image)是Docker容器技術的核心組件之一,它包含了運行應用程序所需的所有依賴、庫、代碼、運行時環(huán)境以及配置文件等。
簡單來說,Docker鏡像是一個輕量級、可執(zhí)行的軟件包,它封裝了應用程序及其運行環(huán)境,使得應用程序可以在任何支持Docker的平臺上以相同的方式運行。
關鍵特性:
- 層次化結構:Docker鏡像采用層次化結構,每個鏡像都是基于一個或多個基礎鏡像(父鏡像)構建的。通過添加新的層次(如文件、配置、依賴等),可以創(chuàng)建新的鏡像。這種層次化結構使得鏡像的共享和重用變得高效。
- 只讀性:Docker鏡像在構建完成后是只讀的。當運行一個容器時,Docker會在鏡像的基礎上創(chuàng)建一個可寫的層(稱為容器層),用于存儲運行時的數(shù)據(jù)更改。這種設計保證了鏡像的不可變性,使得鏡像的分發(fā)和部署更加可靠和安全。
- 構建與分發(fā):Docker鏡像可以通過Dockerfile文件來定義和構建。Dockerfile包含了一系列指令,用于指定鏡像的構建步驟和依賴關系。構建完成后,鏡像可以被推送到Docker鏡像倉庫(如Docker Hub)進行分發(fā)和共享。
- 運行容器:Docker容器是Docker鏡像的運行實例。通過運行Docker鏡像,可以創(chuàng)建一個或多個容器,這些容器在隔離的環(huán)境中運行應用程序。容器之間以及容器與宿主機之間通過特定的機制進行通信和資源管理。
- 版本控制:Docker鏡像支持版本控制,可以通過標簽(Tag)來標識不同的版本。例如,一個鏡像可以有多個標簽,如latest、1.0、2.0等,用于表示不同的版本或發(fā)布階段。
Docker Image 常用命令
docker rmi
刪除一個或多個在當前服務器的鏡像;如果鏡像有多個tag,帶上tag可以對具體tag的鏡像進行刪除;
使用 docker rmi [OPTIONS] IMAGE [IMAGE…]
別名docker image remove
docker image rm
參數(shù):
Option Description -f, --force 強制對鏡像進行刪除 –no-prune 不刪除未標記的父項
例子:
docker images
由于該鏡像ID被打上了多個標簽,所以沒有辦法通過ID直接刪除;
只能通過鏡像名稱[taged]來進行刪除:
如果鏡像有對應容器在運行,那么無論通過鏡像ID還是名稱[taged]的方式都是無法刪除的,必須先刪除已經(jīng)存在的容器(無論是否正在運行的還是退出的):
docker ps
docker rmi nginx:1.23.4
docker rmi a7be6198544f
docker ps -a | grep nginx:1.23.4
逐個刪除已經(jīng)刪除的容器:
docker rmi nginx:1.23.4
最終刪除掉鏡像
docker save
將一個或多個鏡像保存到tar文檔中(默認為STDOUT);
用法 docker save [OPTIONS] IMAGE [IMAGE…]
別名docker image save
參數(shù) :
Option Description -o, --output 寫到一個文件中,替代標準輸出流STDOUT
例子:
將鏡像保存到歸檔文件中:
準備將busybox:latest 鏡像保存到該目錄下;
docker save -o busybox0.1.tar busybox:latest
保存之后大小與原本鏡像大小基本一致;
docker load
從tar文檔中加載一個鏡像
用法: docker image load [OPTIONS]
別名 docker image load
參數(shù)
Option Description -i, --input 讀取tar文檔 -q, --quiet 抑制負載輸出
例子:
docker load -i busybox0.1.tar
docker image inspect
對鏡像陳列具體的信息
用法:docker image inspect [OPTIONS] IMAGE [IMAGE…]
參數(shù):
Option Description -f, --format 根據(jù)具體格式輸出:‘json’: Print in JSON 格式 ;
docker image history
展示鏡像的歷史情況
用法: docker image history [OPTIONS] IMAGE
別名 docker history
參數(shù):
Option Description -H, --human 以人可讀格式打印大小和日期 –no-trunc 不截斷輸出 -q, --quiet 只展示鏡像ID –format 根據(jù)具體格式輸出
例子:
docker history nginx:1.24.0
docker import
從tar文檔導入內容以創(chuàng)建鏡像
用法 docker image import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
別名 docker image import
參數(shù):
Option Description -c, --change 將 Dockerfile 指令應用于創(chuàng)建的鏡像 -m, --message 為導入的鏡像設置提交消息 –platform 如果服務器支持多平臺,則設置 platform
例子:
docker import busybox0.1.tar ahri/busybox:0.4
docker image prune
刪除不使用的鏡像
用法:docker image prune [OPTIONS]
參數(shù):
Option Description -a, --all 刪除所有未使用的圖像,而不僅僅是懸空的圖像 –filter 提供篩選條件值(例如until=< timestamp >) -f, --force 不提示確認
例子:
docker image prune