欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Docker鏡像的基本操作方法

 更新時間:2022年07月11日 14:43:48   作者:青00?(一起學Java)  
這篇文章主要介紹了Docker鏡像的基本操作方法,主要包括獲取鏡像和運行鏡像的相關知識,本文給大家介紹的非常詳細,需要的朋友可以參考下

一、獲取鏡像

之前我們提到過 Docker 官?提供了?個公共的鏡像倉庫:Docker Hub,我們就可以從這上?獲取鏡像,獲取鏡像的命令:docker pull,格式為: 

$ docker pull [選項] [Docker Registry 地址[:端?]/]倉庫名[:標簽]

Docker 鏡像倉庫地址:地址的格式?般是 <域名/IP>[:端?號],默認地址是 Docker Hub。

倉庫名:這?的倉庫名是兩段式名稱,即 <?戶名>/<軟件名>。對于 Docker Hub,如果不給出? 戶名,則默認為 library,也就是官?鏡像。?如: 

$ docker pull ubuntu:16.04 
16.04: Pulling from library/ubuntu 
bf5d46315322: Pull complete 
9f13e0ac480c: Pull complete 
e8988b5b3097: Pull complete 
40af181810e7: Pull complete 
e6f7c7e5c03e: Pull complete 
Digest: sha256:147913621d9cdea08853f6ba9116c2e27a3ceffecf3b492983ae97c3d643fbbe 
Status: Downloaded newer image for ubuntu:16.04

上?的命令中沒有給出 Docker 鏡像倉庫地址,因此將會從 Docker Hub 獲取鏡像。?鏡像名稱是 ubuntu:16.04,因此將會獲取官?鏡像 library/ubuntu 倉庫中標簽為 16.04 的鏡像。 從下載過程中 可以看到我們之前提及的分層存儲的概念,鏡像是由多層存儲所構成。下載也是?層層的去下 載,并?單??件。下載過程中給出了每?層的 ID 的前 12 位。并且下載結束后,給出該鏡像完 整的 sha256 的摘要,以確保下載?致性。

二、運行鏡像

有了鏡像后,我們就能夠以這個鏡像為基礎啟動并運??個容器。以上?的 ubuntu:16.04 為例,如果 我們打算啟動??的 bash 并且進?交互式操作的話,可以執(zhí)?下?的命令。

$ docker run -it --rm \ 
ubuntu:16.04 \ 
/bin/bash 
root@e7009c6ce357:/# cat /etc/os-release 
NAME="Ubuntu"
VERSION="16.04.4 LTS, Trusty Tahr" 
ID=ubuntu 
ID_LIKE=debian 
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04" 
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/" 
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

docker run 就是運?容器的命令,具體格式我會在以后進?詳細講解,我們這?簡要的說明?下上??到的參數(shù):

-it:這是兩個參數(shù),?個是 -i:交互式操作,?個是 -t 終端。我們這?打算進? bash 執(zhí)??些命 令并查看返回結果,因此我們需要交互式終端。
--rm:這個參數(shù)是說容器退出后隨之將其刪除。默認情況下,為了排障需求,退出的容器并不會? 即刪除,除??動 docker rm。我們這?只是隨便執(zhí)?個命令,看看結果,不需要排障和保留結 果,因此使? --rm 可以避免浪費空間。
ubuntu:16.04:這是指? ubuntu:16.04 鏡像為基礎來啟動容器。
bash:放在鏡像名后的是命令,這?我們希望有個交互式 Shell,因此?的是 bash。

進?容器后,我們可以在 Shell 下操作,執(zhí)?任何所需的命令。這?,我們執(zhí)?了 cat /etc/os- release ,這是 Linux 常?的查看當前系統(tǒng)版本的命令,從返回的結果可以看到容器內(nèi)是 Ubuntu 16.04.4 LTS 系統(tǒng)。最后我們通過 exit 退出了這個容器。

三、列出鏡像

$ docker image ls

列表包含了倉庫名、標簽、鏡像 ID、創(chuàng)建時間以及所占?的空間。鏡像 ID 則是鏡像的唯?標識,?個鏡像可以對應多個標簽。 

四、鏡像大小

如果仔細觀察,會注意到,這?標識的所占?空間和在 Docker Hub 上看到的鏡像??不同。?如, ubuntu:16.04 鏡像??,在這?是 127 MB,但是在Docker Hub顯示的卻是 43 MB。這是因為 Docker Hub 中顯示的體積是壓縮后的體積。在鏡像下載和上傳過程中鏡像是保持著壓縮狀態(tài)的,因此 Docker Hub 所顯示的??是?絡傳輸中更關?的流量??。? docker image ls 顯示的是鏡像下載到本地后展開的??,準確說,是展開后的各層所占空間的總和,因為鏡像到本地后,查看空間的時候, 更關?的是本地磁盤空間占?的??。

另外?個需要注意的問題是, docker image ls 列表中的鏡像體積總和并?是所有鏡像實際硬盤消 耗。由于 Docker 鏡像是多層存儲結構,并且可以繼承、復?,因此不同鏡像可能會因為使?相同的基 礎鏡像,從?擁有共同的層。由于 Docker 使? Union FS ,相同的層只需要保存?份即可,因此實際 鏡像硬盤占?空間很可能要?這個列表鏡像??的總和要?的多。你可以通過以下命令來便捷的查看鏡像、容器、數(shù)據(jù)卷所占?的空間。 

$ docker system df

五、刪除本地鏡像

如果要刪除本地的鏡像,可以使?`docker image rm·命令,其格式為:

$ docker image rm [選項] <鏡像1> [<鏡像2> ...]

或者

$ docker rmi 鏡像名

或者? ID、鏡像名、摘要刪除鏡像,其中,<鏡像> 可以是 鏡像短 ID、鏡像? ID、鏡像名 或者 鏡像摘要。 ?如我們有這么?些鏡像:

$ docker image ls 
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0584b3d2cf6d 3 weeks ago 196.5 MB 
redis alpine 501ad78535f0 3 weeks ago 21.03 MB 
docker latest cf693ec9b5c7 3 weeks ago 105.1 MB 
nginx latest e43d811ce2f4 5 weeks ago 181.5 MB

我們可以?鏡像的完整 ID,也稱為? ID,來刪除鏡像。使?腳本的時候可能會?? ID,但是??輸?就太累了,所以更多的時候是?短 ID 來刪除鏡像。 docker image ls 默認列出的就已經(jīng)是短 ID 了,?般取前3個字符以上,只要?夠區(qū)分于別的鏡像就可以了。 

?如這?,如果我們要刪除redis:alpine鏡像,可以執(zhí)?:

$ docker image rm 501 
Untagged: redis:alpine 
Untagged: redis@sha256:f1ed3708f538b537eb9c2a7dd50dc90a706f7debd7e1196c9264edeea521a86d 
Deleted: sha256:501ad78535f015d88872e13fa87a828425117e3d28075d0c117932b05bf189b7 
Deleted: sha256:96167737e29ca8e9d74982ef2a0dda76ed7b430da55e321c071f0dbff8c2899b 
Deleted: sha256:32770d1dcf835f192cafd6b9263b7b597a1778a403a109e2cc2ee866f74adf23 
Deleted: sha256:127227698ad74a5846ff5153475e03439d96d4b1c7f2a449c7a826ef74a2d2fa 
Deleted: sha256:1333ecc582459bac54e1437335c0816bc17634e131ea0cc48daa27d32c75eab3 
Deleted: sha256:4fc455b921edf9c4aea207c51ab39b10b06540c8b4825ba57b3feed1668fa7c7

我們也可以?鏡像名,也就是 <倉庫名>:<標簽>,來刪除鏡像。

$ docker image rm centos 
Untagged: centos:latest 
Untagged: centos@sha256:b2f9d1c0ff5f87a4743104d099a3d561002ac500db1b9bfa02a783a46e0d366c 
Deleted: sha256:0584b3d2cf6d235ee310cf14b54667d889887b838d3f3d3033acd70fc3c48b8a 
Deleted: sha256:97ca462ad9eeae25941546209454496e1d66749d53dfa2ee32bf1faabd239d38

到此這篇關于Docker鏡像的基本操作方法的文章就介紹到這了,更多相關Docker鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker 7 docker在阿里云的使用詳解

    Docker 7 docker在阿里云的使用詳解

    這篇文章主要介紹了Docker 7 docker在阿里云的使用詳解的相關資料,需要的朋友可以參考下
    2016-11-11
  • 理解Docker(2):Docker 鏡像詳細介紹

    理解Docker(2):Docker 鏡像詳細介紹

    這篇文章主要介紹了理解Docker(2):Docker 鏡像詳細介紹, 鏡像(image)是動態(tài)的容器的靜態(tài)表,有需要的可以了解下。
    2016-11-11
  • 通過Docker安裝啟動DB2在Spring?Boot整合DB2的方法

    通過Docker安裝啟動DB2在Spring?Boot整合DB2的方法

    DB2是IBM的一款優(yōu)秀的關系型數(shù)據(jù)庫,這篇文章主要介紹了通過Docker啟動DB2,并在Spring?Boot整合DB2,需要的朋友可以參考下
    2023-01-01
  • Docker中Compose與Kubernetes的區(qū)別詳解

    Docker中Compose與Kubernetes的區(qū)別詳解

    這篇文章主要給大家介紹了關于Docker中Compose與Kubernetes區(qū)別的相關資料,Docker Compose和Kubernetes(簡稱k8s)都是容器編排工具,需要的朋友可以參考下
    2023-08-08
  • 使用Docker部署war包項目的實現(xiàn)

    使用Docker部署war包項目的實現(xiàn)

    這篇文章主要介紹了使用Docker部署war包項目的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Docker中部署nginx服務的方案

    Docker中部署nginx服務的方案

    這篇文章主要介紹了Docker中部署nginx服務的方案的相關資料,需要的朋友可以參考下
    2022-11-11
  • mysql8.x docker遠程訪問配置詳解

    mysql8.x docker遠程訪問配置詳解

    本文主要介紹了mysql8.x docker遠程訪問配置,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 如何使用docker極簡打包java.jar鏡像并啟動

    如何使用docker極簡打包java.jar鏡像并啟動

    這篇文章主要介紹了如何使用docker極簡打包java.jar鏡像并啟動,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • docker安裝nginx容器的方法

    docker安裝nginx容器的方法

    Nginx也是一款服務器,我們常用它做如:反向代理、負載均衡、動態(tài)與靜態(tài)資源的分離的工作,這篇文章主要介紹了docker安裝nginx,需要的朋友可以參考下
    2023-01-01
  • 創(chuàng)建支持SSH服務的Docker鏡像的方法

    創(chuàng)建支持SSH服務的Docker鏡像的方法

    這篇文章主要介紹了創(chuàng)建支持SSH服務的Docker鏡像的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08

最新評論