Docker 的流程
- Client :本機的 docker 執行命令的客戶端
- DOCKER_HOST:本機 docker 服務
- Registry:docker 遠程倉庫
docker pull 流程
在本機 Client 發出 docker pull 執行命令到 DOCKER_HOST 本機 docker 服務的 Docker daemon 中,Docker daemon 會先在本機中尋找是否有相應的鏡像,如果存在不進行任何操作,如果沒有會從 docker 的遠程倉庫 Registry 中將相應的鏡像拉取到本地服務;
docker run 流程
在本機 Client 發出 docker run 執行命令到 DOCKER_HOST 本機 docker 服務的 Docker daemon 中,Docker daemon 會先在本機中尋找是否有相應的鏡像,如果不存在則會從 docker 的遠程倉庫 Registry 中將相應的鏡像拉取到本地服務,然後通過一定方式將鏡像運行起來變成 docker 的容器。
創建 Docker 鏡像
使用命令:
docker pull [OPTIONS] NAME [:TAG]
此命令的作用是從docker 遠程的倉庫拉取鏡像到本地。
相關參數說明:
- NAME 是必填的代表我們需要拉取的鏡像名稱
- [OPTIONS] 是代表拉取的鏡像參數
- [:TAG] 是可選的,是代表鏡像的版本;
舉例:
拉取 hello-world 鏡像命令: docker pull hello-world
查看 Docker 鏡像
使用命令:
docker images [OPTIONS] [REPOSITORY[:TAG]]
此命令是來查看我們本機都有哪些鏡像,也可以驗證我們的 pull 是否執行成功
相關參數說明:
[OPTIONS] 鏡像的參數;
[REPOSITORY[:TAG]] 鏡像的名稱 和 版本
實戰
查看本機所有的 docker 鏡像列表,下面展示的是沒有安裝鏡像,只是打印出每一列的列頭
說明
- REPOSITORY:表示鏡像的倉庫源
- TAG:鏡像的標籤
- IMAGE ID:鏡像ID
- CREATED:鏡像創建時間
- SIZE:鏡像大小
安裝 docker hello-word
第一行的意思指:自動添加一個 :tag 參數
docker pull hello-world:latest
前面幾次都是下載失敗,最後我開了代理,然後纔可以下載完成。真是累啊。。。
下載完成,並且檢查
到此,就完成了第一個鏡像的安裝。
容器中運行鏡像
下載了 docker 的鏡像,需要在容器中將 docker 的鏡像運行起來。
相關命令
# 運行鏡像
docker run [OPTIONS] IMAGE [:TAG] [COMMAND] [ARG...]
# 查看運行的容器
docker ps