Docker常用命令
外观
Docker常用命令是使用Docker进行容器化操作的核心工具集,涵盖镜像管理、容器生命周期控制、网络配置等场景。本文面向初学者和进阶开发者,系统介绍高频命令及其实际应用。
概述[编辑 | 编辑源代码]
Docker命令通过CLI(命令行界面)与Docker引擎交互,主要分为以下类别:
- 镜像操作:拉取、构建、删除镜像
- 容器管理:启动、停止、查看容器
- 网络与存储:配置容器网络与数据卷
- 系统维护:清理资源、查看日志
镜像操作命令[编辑 | 编辑源代码]
docker pull[编辑 | 编辑源代码]
从仓库拉取镜像到本地,默认从[Docker Hub](https://hub.docker.com/)获取。
# 拉取官方Ubuntu镜像(标签为latest)
docker pull ubuntu
输出示例:
latest: Pulling from library/ubuntu 7b1a6ab2e44d: Pull complete Digest: sha256:... Status: Downloaded newer image for ubuntu:latest
docker build[编辑 | 编辑源代码]
通过Dockerfile构建自定义镜像。
# 构建镜像(-t指定标签,.表示当前目录)
docker build -t myapp:v1 .
docker images[编辑 | 编辑源代码]
列出本地所有镜像。
docker images
输出示例:
REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 1d622ef86b13 2 weeks ago 72.9MB myapp v1 a3b8cd6f5e2d 1 hour ago 220MB
容器管理命令[编辑 | 编辑源代码]
docker run[编辑 | 编辑源代码]
创建并启动容器。常用参数:
-d
:后台运行-p
:端口映射-v
:挂载数据卷
# 启动Nginx容器并映射80端口
docker run -d -p 8080:80 --name mynginx nginx
docker ps[编辑 | 编辑源代码]
查看运行中的容器。
docker ps -a # -a显示所有容器(包括已停止的)
输出示例:
CONTAINER ID IMAGE COMMAND STATUS PORTS NAMES a1b2c3d4e5f6 nginx "nginx -g..." Up 2 hours 0.0.0.0:8080->80/tcp mynginx
docker exec[编辑 | 编辑源代码]
在运行中的容器内执行命令。
# 进入容器交互式终端
docker exec -it mynginx /bin/bash
网络与存储命令[编辑 | 编辑源代码]
docker network[编辑 | 编辑源代码]
管理容器网络。
# 创建自定义网络
docker network create mynet
docker volume[编辑 | 编辑源代码]
管理数据卷。
# 创建持久化数据卷
docker volume create dbdata
系统维护命令[编辑 | 编辑源代码]
docker logs[编辑 | 编辑源代码]
查看容器日志。
docker logs mynginx
docker system prune[编辑 | 编辑源代码]
清理未使用的资源。
docker system prune -a # -a清理所有未使用的镜像
实际案例[编辑 | 编辑源代码]
部署Web应用[编辑 | 编辑源代码]
结合多个命令部署Python Flask应用:
# 1. 构建镜像
docker build -t flaskapp .
# 2. 启动容器(绑定端口5000)
docker run -d -p 5000:5000 --name myflask flaskapp
# 3. 验证运行状态
curl http://localhost:5000
调试容器[编辑 | 编辑源代码]
通过日志和交互式终端排查问题:
# 查看错误日志
docker logs myflask
# 进入容器检查环境
docker exec -it myflask /bin/sh
命令速查表[编辑 | 编辑源代码]
命令 | 用途 | 示例 |
---|---|---|
docker pull |
拉取镜像 | docker pull redis
|
docker run |
启动容器 | docker run -d redis
|
docker stop |
停止容器 | docker stop mynginx
|
docker rm |
删除容器 | docker rm mynginx
|
进阶技巧[编辑 | 编辑源代码]
- 批量操作:使用
xargs
批量删除容器:
docker ps -aq | xargs docker rm
- 别名简化:在
~/.bashrc
中添加别名:
alias dps='docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"'
总结[编辑 | 编辑源代码]
掌握Docker常用命令是容器化开发的基础。建议通过Docker官方文档深化学习,并结合实践巩固知识。