第五章 九析帶你輕鬆完爆 Docker - 常用命令

系列文章:


總目錄索引:九析帶你輕鬆完爆 Docker 系列

目錄

1 前言

2 常用命令

    2.1 docker images

    2.2 docker login

    2.3 docker pull

    2.4 docker tag

    2.5 docker rmi

    2.6 docker logout

    2.7 docker run

    2.8 docker ps

    2.9 docker cp

    2.10 docker exec

    2.11 docker logs

    2.12 docker  start

    2.13 docker  stop

    2.14 docker rm

    2.15 docker build

    2.16 docker push


1 前言

        如果你對博客有任何疑問,請告訴我。

1.png

        本文介紹16個常用的Docker命令,先給大家有個簡單的概念,部分命令較爲複雜,會在後續文章中單獨做介紹。


2 常用命令

2.1 docker images

       docker images 命令用於查看鏡像列表,docker images -a 命令用於查看所有鏡像。通過 docker build 命令構建的鏡像會存在子鏡像,此時可通過 docker images -a 命令查看構建的鏡像所包含的所有子鏡像;通過 docker pull 命令拉取的鏡像不存在子鏡像。

clipboard1.png

        docker images 命令拉取的鏡像信息中,從左到右依次爲鏡像名、版本號、鏡像ID、鏡像創建時間、鏡像大小,鏡像ID是鏡像唯一標識,可以通過 docker tag 命令給鏡像打標籤,生成多個不同鏡像名的鏡像。

2.2 docker login

        docker login 命令用於登錄docker倉庫。拉取非公開鏡像倉庫的鏡像或者要往鏡像倉庫中推送鏡像時,需要先通過 docker login 命令登錄該鏡像倉庫,再進行操作。

docker login --username=<用戶名> registry.cn-hangzhou.aliyuncs.com

2.3 docker pull

       docker pull 命令用於拉取鏡像。從docker官方鏡像倉庫拉取鏡像時無需登錄,直接傳入鏡像名和版本號即可拉取;從三方公開鏡像倉庫拉取鏡像時無需登錄,但需要傳入三方鏡像倉庫的域名、鏡像名和版本號才能拉取;從三方非公開鏡像倉庫拉取鏡像需要先通過 docker login 命令進行登錄,登錄成功後才能拉取鏡像。

        從docker官方鏡像倉庫拉取

docker pull alpine:3.7

        從三方公開鏡像倉庫拉取

docker pull registry.cn-hangzhou.aliyuncs.com/jiuxi-blockchain/alpine:3.7

        從三方非公開鏡像倉庫拉取

docker login --username=<用戶名> registry.cn-hangzhou.aliyuncs.com

docker pull registry.cn-hangzhou.aliyuncs.com/jiuxi-blockchain/alpine:3.7

docker logout registry.cn-hangzhou.aliyuncs.com

2.4 docker tag

       從三方鏡像倉庫拉取鏡像後,鏡像名會包含三方鏡像倉庫的域名,如下圖所示:clipboard2.png

        此時的鏡像名並非想要的鏡像名,此時可以通過 docker tag 命令給鏡像打標籤。打標籤時,必須傳入鏡像ID、新的鏡像名及鏡像版本號。

docker tag 6d1ef012b567 alpine:3.7

2.5 docker rmi

       給鏡像打完標籤後,會同時存在兩個鏡像,如下圖所示:clipboard3.png

        原來拉取的鏡像名和自己想要的鏡像名同時存在,此時可通過 docker rmi 命令刪除自己不想要的鏡像名。刪除鏡像時,必須傳入鏡像名及鏡像版本號。

docker rmi registry.cn-hangzhou.aliyuncs.com/jiuxi-blockchain/alpine:3.7

2.6 docker logout

        docker logout 命令用於退出鏡像倉庫。與鏡像倉庫操作結束後,出於安全考慮,要退出已登錄鏡像倉庫。

docker logout registry.cn-hangzhou.aliyuncs.com

2.7 docker run

        docker run 命令用於啓動Docker容器。在啓動Docker容器時,可以指定容器名、端口映射、文件目錄映射、網絡橋接、環境變量、初使化腳本等很多參數,這裏不做過多介紹,後續《Docker容器》文章中再對該命令做深入講解,本文給出最簡單的示例。

docker run -it alpine:3.7 sh

2.8 docker ps

       docker ps 命令用於查看運行中容器,docker ps -a 命令用於查看已啓動容器,包括創建未運行及已停止運行的容器,如下圖所示:clipboard4.png

        docker ps 命令拉取的鏡像信息中,從左到右依次爲容器ID、鏡像、啓動命令、容器創建時間、容器運行狀態、端口映射關係、容器名。容器運行狀態有三種狀態:Up 表示運行中;Created 表示容器被創建,但未能成功啓動;Exited 表示容器已停止運行。

docker ps -a

2.9 docker cp

        docker cp 命令用於將服務器目錄中的指定文件複製到容器內的指定目錄中。

docker cp file1 <容器名>:/path1/

2.10 docker exec

        docker exec 命令用於登錄到正在運行中的容器,登錄容器後可對該容器進行操作。

docker exec -it <容器名> bash

2.11 docker logs

        docker logs 命令用於查看特定容器的日誌,可通過docker logs -f命令持續追蹤日誌,效果類似於 tail -f 命令。

docker logs -f <容器名>

2.12 docker  start

        docker start 命令用於啓動一個處於未運行狀態的容器,該命令只能啓動容器,不能修改容器的啓動參數。

docker start <容器名>

2.13 docker  stop

        docker stop 命令用於停止一個處於運行中狀態的容器。

docker stop <容器名>

2.14 docker rm

        docker rm 命令用於刪除一個處於未運行狀態的容器。當你使用 docker rm 命令去刪除處於運行中狀態的容器時,命令會執行失敗。

docker rm <容器名>

2.15 docker build

        docker build 命令用於創建一個鏡像。創建鏡像必須依託另外一個源鏡像,一般採用alpine、java、centos等基礎鏡像做爲源鏡像,docker build 命令需要讀取Dockerfile文件,根據Dockerfile文件配置生成鏡像。創建鏡像過程這裏不做過多介紹,後續《Docker自定義鏡像》文章中再對該命令做深入講解。

2.16 docker push

        docker push 命令用於推送鏡像到鏡像倉庫,推送鏡像的操作,必須先進行登錄。

        登錄docker官方鏡像倉庫:

docker login

        登錄三方鏡像倉庫:

docker login --username=<用戶名> registry.cn-hangzhou.aliyuncs.com

        推送到docker官方鏡像倉庫時無需指定鏡像倉庫的域名,推送到三方倉庫時,必須先通過 docker tag 命令給容器打標籤,將三方倉庫的域名加到鏡像名中,才能進行推送。

        推送到docker官方鏡像倉庫:

docker push alpine:3.7

        推送到三方鏡像倉庫

docker tag 6d1ef012b567 registry.cn-hangzhou.aliyuncs.com/jiuxi-blockchain/alpine:3.7

docker push registry.cn-hangzhou.aliyuncs.com/jiuxi-blockchain/alpine:3.7

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章