Docker命令大全:從基礎到高級實戰指南
Docker作為現代容器化技術的核心工具,其命令體系是開發運維的必備技能。本文將系統整理常用命令,助您高效管理容器生態。
一、基礎命令篇
1. 鏡像管理
# 拉取鏡像
$ docker pull nginx:latest# 查看本地鏡像
$ docker images# 刪除鏡像
$ docker rmi <image_id># 構建鏡像
$ docker build -t myapp:v1 .
2. 容器生命周期
# 啟動容器
$ docker run -d --name web nginx# 停止/啟動容器
$ docker stop web
$ docker start web# 刪除容器
$ docker rm -f web# 查看運行中容器
$ docker ps
3. 容器操作
# 進入容器終端
$ docker exec -it web bash# 查看容器日志
$ docker logs -f web# 復制文件
$ docker cp local.txt web:/app
二、高級命令篇
1. 網絡管理
# 創建自定義網絡
$ docker network create mynet# 連接容器到網絡
$ docker network connect mynet web# 查看端口映射
$ docker port web 80
2. 數據卷操作
# 創建持久化卷
$ docker volume create dbdata# 掛載數據卷
$ docker run -v dbdata:/var/lib/mysql mysql# 查看卷信息
$ docker volume inspect dbdata
3. Docker Compose
# docker-compose.yml示例
version: '3'
services:web:image: nginxports:- "8080:80"db:image: postgresvolumes:- pgdata:/var/lib/postgresql
volumes:pgdata:
# 啟動服務棧
$ docker-compose up -d# 查看服務狀態
$ docker-compose ps
4. 資源監控
# 實時資源監控
$ docker stats# 檢查容器配置
$ docker inspect web# 查看資源使用詳情
$ docker system df
5. 安全加固
# 掃描鏡像漏洞
$ docker scan nginx# 設置用戶權限
$ docker run -u 1001:1001 nginx# 只讀文件系統
$ docker run --read-only alpine
三、實用技巧
- 清理磁盤空間
$ docker system prune -a --volumes
- 容器健康檢查
# Dockerfile配置
HEALTHCHECK --interval=30s CMD curl -f http://localhost || exit 1
- 多階段構建優化
FROM golang AS builder
WORKDIR /app
COPY . .
RUN go build -o myappFROM alpine
COPY --from=builder /app/myapp .
CMD ["./myapp"]
結語
掌握這些命令可覆蓋90%的日常容器操作場景。建議:
- 組合使用基礎命令完成常規任務
- 善用
--help
參數探索子命令 - 重要操作前使用
docker diff
檢查變更
通過實踐發現,將常用命令封裝為Makefile或Shell腳本可顯著提升工作效率。例如自動化部署腳本:
#!/bin/bash
docker build -t myapp:$1 .
docker push myrepo/myapp:$1
kubectl set image deployment/myapp myapp=myrepo/myapp:$1