1. 程式人生 > 實用技巧 >docker——基本命令

docker——基本命令

docker——基本命令

1.獲取映象

下載映象格式:docker pull [倉庫的URL]/[名稱空間]/[倉庫的名稱]:[版本號]
命令:
# docker pull redis    # docker pull nginx:1.17
#docker pull docker.io/library/redis:latest(預設)

2.檢視映象資訊

命令:
# docker images  或  # docker image ls

列舉資訊中,可以看到幾個欄位資訊: 
-映象名稱REPOSITORY: redis
 及來源:來自哪個倉庫,預設來自:hub.docker.com 
-映象標籤TAG(版本號):比如1.17、1000-teach-2020-10-28-13-40-27 
-映象ID IMAGE ID:例如 22fdec3d9a6d 
-映象建立時間CREATED:例如:3 weeks ago -映象大小SIZE:127MB #其中映象的 ID 資訊十分重要,它唯一標識了映象。在使用映象 ID 的時候,一般可以使用該 ID 的前若干個 字元組成的可區分串來替代完整的 ID

3.image子命令

# docker images -a 列出所有(包括臨時檔案)映象檔案
# docker images --digests列出映象的數字摘要值
# docker images -q 僅顯示 ID 資訊

4.為映象新增 tag

docker tag [原映象名稱]:[版本號]  [新的名稱]:[新版本號]

#示例:docker tag redis:latest registry.cn-hangzhou.aliyuncs.com/alvinos/redis:v1

5.登入映象倉庫

docker login [引數] [倉庫URL] 
#示例: docker login --username=yangyang091022 registry.cn-hangzhou.aliyuncs.com
輸入密碼後enter,就進入了映象倉庫

6.docker推送

docker push [映象名稱]
#示例:docker push registry.cn-hangzhou.aliyuncs.com/alvinos/redis:v1
推送上去之後就會在映象版本里看到資訊
#git的推送 git clone xxx.git git add . git commit
-m 'init' . git push origin master

7.inspect

#docker inspect獲取映象的詳細資訊,包括 PID、作者、架構等等。
docker inspect [引數] [映象ID]|[映象名稱]:[版本號]

8.history

#history 命令檢視映象構建歷史
docker history [映象名稱]|[映象ID]

9.search

#搜尋映象
docker search [引數] [映象名稱|映象簡介]

在docker中搜索映象主要使用Search子命令,預設只搜尋Docker Hub官方映象倉庫中的映象。

# docker search redis

# docker search redis --limit 3

-f : 過濾輸出內容
# docker search -f is-official=true redis搜尋官方提供的帶有 Redis 關鍵字的映象
# docker search -f stars=8000 redis搜尋被收藏超過 8000 個的並且關鍵詞包括 Redis 的映象

--limit: 限制輸出結果
    # docker search -f stars=8 --limit 3 redis
    # docker search redis --limit 3
    
--no-trunc: 不截斷輸出結果
    # docker search -f stars=8 --limit 3 --no-trunc redis
    # docker search redis -f stars=150 --no-trunc
'''
輸出引數釋義
NAME :映象名稱
DESCRIPTION : 簡介
STARS : 收藏個數
OFFICIAL : 是否是官方映象
AUTOMATED : 是否是自構建的映象
'''  

10.刪除和清理映象

在 docker 中,刪除映象主要使用 rmi 子命令,清理映象主要使用 prune 子命令。
#(1)使用標籤刪除映象
    docker rmi [映象ID|[映象名稱:版本號]]
    # docker rmi redis 或 # docker rmi image redis
    # docker rmi 74d107221092
    -f : 強制刪除映象
       如果該映象正在使用中,強制刪除,實際上是刪除標籤,如要刪就刪ID。
     # docker rmi -f redis
#(2)清理映象
    使用一段時間之後,docker 會產生很多臨時檔案,以及一些沒有被使用的    映象,我們可以通過 docker image prune 命令來進行清理
    docker image prune [引數]
    
    -a :刪除所有無用/未被使用的映象,不光是臨時映象
    # docker image prune -a
    -f :強制刪除映象,而不進行提示
    # docker image prune -a -f

11.構建映象

# 儲存容器為映象
    docker commit [容器ID] [引數]
    
-a : 指定維護者(作者資訊)
-m : 指定簡介(提交資訊)
-p : 當儲存時,容器停止執行(提交時暫停容器執行)
# docker ps 顯示當前正在執行的容器
#示例如下圖:啟動一個容器、修改並儲存