Docker作為輕量級容器化技術,已成為開發、測試和部署環節的核心工具。本文梳理了Docker日常操作中的關鍵命令,涵蓋鏡像、容器管理及信息查詢等場景,助你高效應對各類使用需求。
鏡像基礎操作
1. 獲取鏡像
docker pull 鏡像名稱:標籤
# 拉取指定版本的CentOS鏡像
docker pull centos:7
2. 移除鏡像
docker rmi 鏡像名稱:標籤 按名稱移除
docker rmi 鏡像ID 按ID移除
3. 自制鏡像
docker build -t 鏡像名稱:版本 構建目錄
# 基於./app目錄的Dockerfile,創建test-image:v2鏡像
docker build -t test-image:v2 ./app
4. 鏡像的導入導出
-
導入鏡像:
docker load -i 鏡像文件.tar# 從backup.tar導入鏡像 docker load -i backup.tar -
導出鏡像:
docker save -o 目標文件.tar 鏡像名稱:版本# 導出nginx:1.21鏡像為nginx-backup.tar docker save -o nginx-backup.tar nginx:1.21
容器核心操作
1. 新建並啓動容器
docker run [參數] 鏡像名稱 [執行命令]
# 後台啓動nginx容器並映射80端口
docker run -d -p 8080:80 --name my-nginx nginx:1.21
[關鍵參數説明]
-d:後台運行(守護態)
-it:開啓交互模式(搭配終端命令使用)
--name:自定義容器名稱
-p:端口映射(宿主機端口:容器內端口)
-v:目錄掛載(宿主機路徑:容器內路徑)
--rm:容器停止後自動清理
2. 容器狀態控制
docker start 容器名 啓動已停止的容器
docker stop 容器名 停止運行中的容器
docker restart 容器名 重啓容器
3. 進入運行容器
推薦使用docker exec進行交互:
-
docker exec -it 容器名 終端命令# 進入my-nginx容器的bash終端 docker exec -it my-nginx /bin/bash -
docker attach 容器名# 連接到運行中的my-nginx容器 docker attach my-nginx
4. 刪除容器
docker rm 容器名/容器ID
# 刪除名為test的容器
docker rm test
# 強制刪除運行中的demo容器
docker rm -f demo
信息查詢與監控
1. 容器列表查看
docker ps [選項]
# 顯示運行中容器
docker ps
# 顯示所有容器(含停止狀態)
docker ps -a
2. 鏡像列表查詢
docker images 列出所有本地鏡像
docker images mysql 篩選顯示mysql鏡像
3. 容器日誌查看
docker logs [選項] 容器名
# 查看my-nginx容器的最近100行日誌
docker logs --tail 100 my-nginx
# 實時跟蹤日誌輸出
docker logs -f my-nginx
4. 詳細信息查看
docker inspect 容器名/鏡像名 查看對象的詳細配置信息
5. 端口映射查看
docker port 容器名 查看容器端口與宿主機的映射關係
6. 資源使用監控
docker stats [容器名]
# 監控特定容器資源佔用
docker stats my-nginx
# 監控所有容器資源使用情況
docker stats
容器內程序安全保障
在容器中部署應用時,代碼安全是關鍵考量,尤其在對外交付場景中需嚴防程序被篡改或竊取。
Virbox Protector工具可針對Docker環境下的各類程序提供保護,無論是Java、Python應用,還是本地elf、so文件,均能通過專屬安全策略加固,確保容器內程序的運行安全。