1. 程式人生 > Docker入門教學 >使用 Docker 容器

使用 Docker 容器

上一節中,我們學會了如何從Docker Hub官方倉庫中獲取映象。同時,我們已經知道,Docker映象是靜態的,要使用它,就是以映象為模板,建立並執行Docker容器應用。

本節我們將詳細介紹Docker容器的使用,在瞭解容器的各項操作之前,我們先來回顧一下,Docker 容器的生命週期裡分為五種狀態,其分別代表著:

  • Created:容器已經被建立,容器所需的相關資源已經準備就緒,但容器中的程式還未處於執行狀態;
  • Running:容器正在執行,也就是容器中的應用正在執行;
  • Paused:容器已暫停,表示容器中的所有程式都處於暫停 狀態;
  • Stopped:容器處於停止狀態,佔用的資源和沙盒環境都依然存在,只是容器中的應用程式均已停止;
  • Deleted:容器已刪除,相關佔用的資源及儲存在 Docker 中的管理資訊也都已釋放和移除。

容器的操作使容器在不同狀態間轉換。下面我們圍繞著容器生命週期,介紹Docker對容器的操作。

1. 容器操作

1.1 建立容器

當我們選擇好映象以後,就可以通過 docker create 這個命令來建立容器了。

# 在建立容器時,我們可以通過 `--name` 這個選項來配置容器名。
docker create --name busybox busybox

通過 docker create 建立的容器,是處於 Created 狀態的,其內部的應用程式還沒有啟動。

1.2 啟動容器

通過 docker start

命令來啟動它。

docker start busybox

當容器啟動後,其中的應用就會執行起來,容器的狀態就會是 Running。

docker run 這個命令將 docker createdocker start 合併,在建立完成之後會直接啟動起來。

docker run --name busybox -d -i busybox

-d 引數, Docker 在啟動後將程式與控制檯分離,使其進入後臺執行。
-i ( --interactive ) 表示保持終端輸入流

1.3 管理容器

容器建立和啟動後,除了關注應用程式是否功能正常外,我們也會關注容器的狀態等內容。

通過 docker ps

這個命令,我們可以羅列出 Docker 中的容器。

docker ps

預設情況下,docker ps 列出的容器是處於執行中的容器,如果要列出所有狀態的容器,需要增加 -a 選項。

docker ps -a

1.4 停止和刪除容器

使用 docker stop 命令停止正在執行的容器。

docker stop busybox

容器停止後,通過 docker start 命令將這個容器再次啟動。

當我們完全刪除容器時,可以通過 docker rm 命令將容器進行刪除。

docker rm busybox

正在執行中的容器預設情況下是不能被刪除的,我們可以通過增加 -f 選項 強制停止並刪除容器。

Tips : 當我們短時間內不需要使用容器時,就應該刪除它。

1.5 進入容器

Docker 提供了一個命令 docker exec ,它在正在執行的容器中執行指定命令,輸入以下命令連線到容器內的終端:

docker exec -it busybox sh

docker exec 進入容器的時候,兩個選項不可或缺,即 -i-t ( 合併為 -it )。

  • -t ( --tty ) 表示啟用一個偽終端,沒有它無法看到 bash 內部的執行結果。

1.6 檢視容器日誌

Docker 提供 docker logs 命令,匯出容器的日誌資訊:

docker logs busybox

1.7 檢視容器的配置資訊

Docker 提供了 docker inspect 命令,用來提供詳細的容器資訊(配置資訊等) :

docker inspect busybox

2. 小結

這個小節我們主要講解了如何建立、啟動、管理和進入容器,和如何檢視容器資訊。
本節的內容雖然看似簡單,但請大家一定要熟練掌握這幾個命令,它們是 Docker 後面學習過程中最常用的指令。