Docker簡介
Docker是個開源平臺,用于構建、部署和運行容器中的應用程序,使開發人員能夠創建獨立、輕量級的容器,包含應用程序所需的所有內容。通過使用Docker,開發人員可以在不同環境中以一致的方式運行應用程序,提高開發和部署的效率和可靠性。
1 docker run
命令
docker run
命令是Docker中用于啟動一個新的容器的命令,是使用Docker鏡像創建和運行容器的主要方式。
以下是使用docker run
命令啟動新容器并通過命令行與其進行交互的示例:
1) 首先,打開終端并輸入以下命令以啟動新容器:
docker run -it --name mycontAIner ubuntu
這個命令會基于ubuntu
鏡像啟動一個新容器,并給它一個名稱(mycontainer
)。-it
選項將終端連接到容器的標準輸入和輸出,以便您可以通過命令行與其進行交互。
2) 容器運行后,進入容器內部的shell提示符。可以像在常規終端中一樣鍵入命令,例如,可以輸入ls
命令來列出當前目錄的內容:
ls
3) 還可以在容器內安裝新軟件或運行其他命令。例如,可以更新軟件包索引并安裝curl
軟件包:
apt-get update
apt-get install curl
4) 在容器中完成工作后,可以通過輸入exit
或按下CTRL-D
來退出容器。這將使終端與容器分離,并停止其運行。可以隨時通過鍵入docker start mycontainer
來重新啟動容器,并使用docker attach mycontainer
附加到它。
2 docker inspect
命令
docker inspect
命令用于獲取有關容器、鏡像、網絡、卷等詳細信息;它返回JSON格式的結果,包含有關指定對象的各種屬性和配置信息,可以使用工具(如jq)或編程語言(如Python/ target=_blank class=infotextkey>Python)來解析和處理這些信息。
以下是使用docker inspect
命令查看容器或鏡像詳細信息的示例:
1) 首先,打開終端并運行以下命令以列出所有正在運行的容器:
docker ps
這將顯示您系統上所有正在運行的容器的列表,以及它們的ID。
2) 選擇要檢查的容器或鏡像的ID,并運行以下命令:
docker inspect <container_or_image_id>
3) 將<container_or_image_id>
替換為要檢查的容器或鏡像的實際ID。例如,如果容器的ID是abcd1234
,將運行以下命令:
docker inspect abcd1234
4) docker inspect
命令將輸出一個包含有關容器或鏡像詳細信息的JSON文檔。這些信息包括容器的配置、網絡設置和資源使用情況,以及鏡像的元數據和歷史記錄。
5) 可以使用docker inspect
的輸出來排除故障、了解容器或鏡像的配置,甚至根據容器或鏡像的元數據自動執行任務。
3 docker port
命令
docker port
命令是用于查看容器端口映射情況的命令,允許查看容器內部端口與宿主機上映射的端口之間的對應關系。
以下是使用docker port
命令列出容器端口映射的示例:
1) 首先,打開終端并運行以下命令以列出所有正在運行的容器:
docker ps
這將顯示您系統上所有正在運行的容器的列表,以及它們的ID。
2) 選擇要列出端口映射的容器的ID,并運行以下命令:
docker port <container_id>
3) 將<container_id>
替換為要列出端口映射的容器的實際ID。例如,如果容器的ID是abcd1234
,將運行以下命令:
docker port abcd1234
4) docker port
命令將輸出容器的端口映射列表。每個映射包括容器的內部端口號和主機系統上相應的端口號。
5) 可以使用此信息從容器外部訪問運行在容器內部的服務。例如,如果容器在端口80上運行Web服務器,并且docker port
命令顯示端口80映射到主機系統上的端口8080,可以通過在Web瀏覽器中導航至http://localhost:8080
來訪問Web服務器。
4 docker stats
命令
docker stats
命令是用于實時監視運行中容器資源使用情況的。它提供了一個類似于系統監視器的界面,顯示了各個容器的CPU使用率、內存占用、網絡流量等信息。
以下是使用docker stats
命令查看一個或多個容器的資源使用統計信息的示例:
1) 首先,打開終端并運行以下命令以列出所有正在運行的容器:
docker ps
這將顯示您系統上所有正在運行的容器的列表,以及它們的ID。
2) 選擇要查看資源使用統計信息的容器或容器的ID,并運行以下命令:
docker stats <container_id>
3) 將<container_id>
替換為要查看資源使用統計信息的容器的實際ID。例如,如果容器的ID是abcd1234
,將運行以下命令:
docker stats abcd1234
4) 還可以指定多個容器ID,以一次查看所有容器的資源使用統計信息。例如:
docker stats abcd1234 efgh5678
5) docker stats
命令將持續輸出指定容器或容器的資源使用統計信息。統計信息包括CPU使用率、內存使用率、網絡I/O和塊I/O等內容。
6) 可以使用此信息來監視容器的性能和資源使用情況,并排除與資源利用相關的問題。
5 docker top
命令
docker top
命令用于查看容器內部運行的進程列表。它類似于Unix中的top命令,可以顯示容器中正在運行的進程以及與之相關的詳細信息。
以下是使用docker top
命令查看容器內部運行的進程的示例:
1)首先,打開終端并運行以下命令以列出所有正在運行的容器:
docker ps
這將顯示您系統上所有正在運行的容器的列表,以及它們的ID。
2) 選擇要查看其進程的容器的ID,并運行以下命令:
docker top <container_id>
3) 將<container_id>
替換為要查看其進程的容器的實際ID。例如,如果容器的ID是abcd1234
,將運行以下命令:
docker top abcd1234
4) docker top
命令將輸出一個包含容器內部運行的進程列表的結果,同時提供有關它們資源利用情況的信息,如CPU和內存使用情況。
5) 可以使用此信息來排除與容器內部進程相關的問題,或了解容器的運行情況以及哪些進程使用了最多的資源。
6 docker save
命令
docker save
命令是Docker中用于將鏡像保存為壓縮的存檔文件的命令,允許將一個或多個Docker鏡像打包成一個可導入到其他Docker環境中的單個文件。
以下是使用docker save
命令將鏡像保存為tar存檔的示例:
1)首先,打開終端并運行以下命令以列出系統上所有可用的鏡像:
docker images
這將顯示系統上所有可用的鏡像列表,包括它們的倉庫、標簽和大小。
2) 選擇要保存為tar存檔的鏡像,并運行以下命令:
docker save -o <output_file_name>.tar <image_name>
3) 將<output_file_name>
替換為要為tar存檔文件指定的名稱,將<image_name>
替換為要保存的鏡像的名稱。例如,如果要將名為myimage:latest
的鏡像保存為名為myimage_latest.tar
的tar存檔,將運行以下命令:
docker save -o myimage_latest.tar myimage:latest
4)docker save
命令將在當前目錄中創建指定鏡像的tar存檔。
5) 隨后可以使用此tar存檔將鏡像移動到其他系統,或者為了備份目的而存儲。
7 docker load
命令
docker load
命令用于加載從docker save
命令導出的鏡像存檔文件的命令,允許將以先前導出的格式保存的鏡像存檔文件導入到本地的Docker環境中。
以下是使用docker load
命令從tar存檔中加載鏡像的示例:
1)首先,打開終端并導航到包含鏡像的tar存檔的目錄。
2)運行以下命令從tar存檔中加載鏡像:
docker load -i <archive_file_name>.tar
3) 將<archive_file_name>
替換為包含鏡像的tar存檔文件的名稱。
4) 例如,如果tar存檔文件名為myimage_latest.tar
,將運行以下命令:
docker load -i myimage_latest.tar
5) docker load
命令將從tar存檔中導入鏡像,并在您的系統上創建一個新的鏡像。
6) 可以通過運行以下命令驗證已導入鏡像:
docker images
這將顯示系統上所有可用的鏡像列表,包括新導入的鏡像。