常用 Docker 指令:docker container
docker container 指令是 Docker 中專門用於管理容器生命週期的指令集合,涵蓋了容器從建立、啟動、停止到刪除的完整操作流程。透過這組子命令,使用者可以靈活地控制容器的運行狀態、查看執行日誌、在容器與主機之間傳輸檔案、進入容器執行互動式命令,以及即時監控資源使用狀況。
commit: 創建容器當前狀態的映像
| 說明 | 從運行中或停止的容器創建新的映像,保存容器的當前狀態 |
|---|---|
| 使用方式 | docker container commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] |
| 別名 | docker commit |
docker commit my-container my-new-image
-m, --message:為這次提交添加註釋。-a, --author:指定作者名稱,記錄在映像中。
詳細 Options 說明可參閱 @docker container commit
cp: 在容器與本地之間複製文件
| 說明 | 將文件從容器複製到主機,或者將本地文件複製到容器中 |
|---|---|
| 使用方式 | docker container cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH |
| 別名 | docker cp |
docker cp my-container:/path/to/file /local/path
my-container:/path/to/file:指定容器內的文件路徑。/local/path:指定要將文件複製到的主機路徑。
也可以反向操作,從主機複製文件到容器中:
docker cp /local/path my-container:/path/to/destination
詳細 Options 說明可參閱 @docker container cp
exec: 在運行中的容器中執行命令
| 說明 | 在運行中的容器內執行命令,例如打開一個交互式 shell |
|---|---|
| 使用方式 | docker container exec [OPTIONS] CONTAINER COMMAND [ARG...] |
| 別名 | docker exec |
docker container exec -it my-container /bin/bash
-i, --interactive:保持標準輸入開放,以便與容器交互。-t, --tty:分配一個偽終端,使得你可以在容器內操作命令行。
詳細 Options 說明可參閱 @docker container exec
inspect: 查看容器詳細信息
| 說明 | 查看容器的詳細配置信息,以 JSON 格式返回 |
|---|---|
| 使用方式 | docker container inspect [OPTIONS] CONTAINER [CONTAINER...] |
| 別名 | docker inspect |
docker inspect my-container
-f, --format:使用 Go 模板語法格式化輸出,只顯示特定信息,例如容器 IP 地址:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' my-container
詳細 Options 說明可參閱 @docker container inspect
kill: 強制停止容器
| 說明 | 強制停止正在運行的容器,向容器的主進程發送 SIGKILL 信號,強制結束它 |
|---|---|
| 使用方式 | docker container kill [OPTIONS] CONTAINER [CONTAINER...] |
| 別名 | docker kill |
docker kill my-container
s, --signal:指定發送給容器的信號(默認為SIGKILL)。例如,發送SIGTERM信號:
docker kill -s SIGTERM my-container
詳細 Options 說明可參閱 @docker container kill
logs: 查看容器日誌
| 說明 | 查看容器的日誌輸出,了解應用在容器內的運行情況 |
|---|---|
| 使用方式 | docker container logs [OPTIONS] CONTAINER |
| 別名 | docker logs |
docker logs my-container
-f, --follow:實時查看容器的日誌輸出。--since:顯示自特定時間以來的日誌,例如-since "2023-01-01T00:00:00"。-n, --tail:顯示最近的N行日誌,例如n 100只顯示最近的 100 行。
詳細 Options 說明可參閱 @docker container logs
ls: 列出容器
| 說明 | 列出所有運行中的容器 |
|---|---|
| 使用方式 | docker container ls [OPTIONS] |
| 別名 | docker ps |
docker ps
-a, --all:列出所有容器,包括停止的容器。-q, --quiet:只顯示容器 ID,適合於腳本中使用。-f, --filter:根據條件過濾容器,例如-filter status=exited只顯示已停止的容器。
詳細 Options 說明可參閱 @docker container ls
rename: 重命名容器
| 說明 | 重命名已經創建的容器 |
|---|---|
| 使用方式 | docker container rename CONTAINER NEW_NAME |
| 別名 | docker rename |
docker rename old-name new-name
old-name:容器的當前名稱。new-name:要改成的新名稱。
這在需要更改容器名稱以便於識別時非常有用。
詳細 Options 說明可參閱 @docker container rename
restart: 重啟容器
| 說明 | 停止並重新啟動容器 |
|---|---|
| 使用方式 | docker container restart [OPTIONS] CONTAINER [CONTAINER...] |
| 別名 | docker restart |
docker restart my-container
-t, --time:在強制停止容器之前等待的時間(秒),默認為 10 秒。可以通過t 5來縮短等待時間。
docker restart -t 5 my-container
這樣做可以在重新啟動之前只等待 5 秒的時間。
詳細 Options 說明可參閱 @docker container restart