1. 容器管理
1.1 容器生命周期
命令 | 说明 |
---|
docker run -d --name my-nginx nginx | 启动容器(-d 后台运行) |
docker start my-nginx | 启动已停止的容器 |
docker stop my-nginx | 停止运行中的容器 |
docker restart my-nginx | 重启容器 |
docker rm my-nginx | 删除已停止的容器 |
docker rm -f my-nginx | 强制删除运行中的容器 |
docker pause my-nginx | 暂停容器进程 |
docker unpause my-nginx | 恢复暂停的容器 |
1.2 容器状态查看
命令 | 说明 |
---|
docker ps | 查看运行中的容器 |
docker ps -a | 查看所有容器(包括已停止的) |
docker logs my-nginx | 查看容器日志 |
docker logs -f my-nginx | 实时跟踪日志 |
docker inspect my-nginx | 查看容器详细信息(JSON 格式) |
docker stats | 实时监控容器资源占用(CPU/内存) |
docker top my-nginx | 查看容器内运行的进程 |
1.3 容器交互
命令 | 说明 |
---|
docker exec -it my-nginx bash | 进入容器的交互式终端 |
docker exec my-nginx ls / | 在容器内执行命令(非交互式) |
docker attach my-nginx | 连接到容器的标准输入/输出(慎用) |
2. 镜像管理
命令 | 说明 |
---|
docker images | 查看本地镜像列表 |
docker pull nginx:latest | 拉取镜像 |
docker push myrepo/my-nginx:v1 | 推送镜像到仓库 |
docker rmi nginx:latest | 删除本地镜像 |
docker build -t my-nginx . | 通过 Dockerfile 构建镜像 |
docker save -o nginx.tar nginx:latest | 导出镜像为 .tar 文件 |
docker load -i nginx.tar | 从 .tar 文件导入镜像 |
docker history nginx:latest | 查看镜像构建历史 |
3. 网络管理
命令 | 说明 |
---|
docker network ls | 查看所有网络 |
docker network create my-net | 创建自定义网络 |
docker network inspect my-net | 查看网络详情 |
docker network connect my-net my-nginx | 将容器连接到网络 |
docker network disconnect my-net my-nginx | 断开容器与网络的连接 |
4. 数据卷管理
命令 | 说明 |
---|
docker volume ls | 查看所有数据卷 |
docker volume create my-vol | 创建数据卷 |
docker volume inspect my-vol | 查看数据卷详情 |
docker volume rm my-vol | 删除数据卷 |
docker run -v my-vol:/data nginx | 挂载数据卷到容器 |
docker run -v /host/path:/container/path nginx | 挂载主机目录到容器 |
5. Docker Compose 常用命令
命令 | 说明 |
---|
docker-compose up -d | 启动所有服务(后台运行) |
docker-compose down | 停止并删除所有容器、网络 |
docker-compose ps | 查看服务状态 |
docker-compose logs -f | 查看实时日志 |
docker-compose build | 重新构建镜像 |
docker-compose exec web bash | 进入服务的容器 |
6. 系统与清理
命令 | 说明 |
---|
docker info | 查看 Docker 系统信息 |
docker version | 查看 Docker 版本 |
docker system df | 查看磁盘使用情况 |
docker system prune | 清理未使用的镜像、容器、网络 |
docker system prune -a | 清理所有未使用的资源(包括未使用的镜像) |
7. 实用技巧
7.1 端口映射
docker run -p 8080:80 nginx # 将容器的 80 端口映射到主机的 8080
7.2 环境变量
docker run -e MY_ENV=value my-image # 设置环境变量
7.3 资源限制
docker run --memory=512m --cpus=1 my-image # 限制内存和 CPU
7.4 查看容器 IP
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' my-nginx