跳转到内容

Docker常用命令

来自代码酷

模板:Draft

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官方文档深化学习,并结合实践巩固知识。