容器管理

运行容器

  • docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    基于镜像启动一个新容器。
    常用选项

    • -d:后台运行(守护态)
    • -it:交互式终端(通常与 /bin/bash 结合)
    • --name:指定容器名称
    • -p HOST_PORT:CONTAINER_PORT:端口映射
    • -v HOST_DIR:CONTAINER_DIR:挂载数据卷
    • --rm:容器退出后自动删除
    • -e KEY=VALUE:设置环境变量

示例

docker run -d --name my_nginx -p 8080:80 nginx

查看容器

  • docker ps
    列出正在运行的容器。

    • -a:显示所有容器(包括已停止的)
    • -q:仅显示容器 ID

启停/删除容器

  • docker start/stop/restart CONTAINER
    启动/停止/重启容器。
  • docker rm CONTAINER
    删除已停止的容器。

    • -f:强制删除(运行中的容器)
    • docker rm $(docker ps -aq):删除所有容器。

进入容器

  • docker exec -it CONTAINER COMMAND
    在运行中的容器内执行命令(常用 /bin/bashsh)。
    示例
docker exec -it my_nginx /bin/bash

查看日志

  • docker logs CONTAINER
    查看容器日志。

    • -f:实时跟踪日志
    • --tail N:显示最后 N 行

镜像管理

拉取/推送镜像

  • docker pull IMAGE[:TAG]
    从仓库拉取镜像(默认 tag 为 latest)。
    示例

    docker pull ubuntu:20.04
  • docker push IMAGE[:TAG]
    推送镜像到仓库(需先登录 docker login)。

构建镜像

  • docker build -t IMAGE[:TAG] PATH
    根据 Dockerfile 构建镜像。
    示例

    docker build -t my_app:v1 .

查看/删除镜像

  • docker images
    列出本地镜像。

    • -q:仅显示镜像 ID
  • docker rmi IMAGE
    删除镜像。

    • -f:强制删除

网络管理

  • docker network ls
    列出所有网络。
  • docker network create NETWORK_NAME
    创建自定义网络。
  • docker network inspect NETWORK
    查看网络详情。
  • docker network connect NETWORK CONTAINER
    将容器连接到网络。

示例:创建并连接网络

docker network create my_net
docker run -d --name app --network my_net nginx

数据卷管理

  • docker volume ls
    列出数据卷。
  • docker volume create VOLUME_NAME
    创建数据卷。
  • docker volume inspect VOLUME
    查看数据卷详情。
  • docker volume rm VOLUME
    删除数据卷。

示例:挂载数据卷

docker run -v my_volume:/data alpine

系统与信息

  • docker info
    显示 Docker 系统信息。
  • docker version
    查看 Docker 版本。
  • docker stats
    实时监控容器资源使用情况。
  • docker system prune
    清理无用资源(容器、网络、镜像等)。

注意事项

  • 命令中的 CONTAINER 可以是容器 ID 或名称(支持部分前缀匹配)。
  • 生产环境中慎用 -f 强制删除操作。
  • 使用 Dockerfile 时,建议通过 .dockerignore 忽略无关文件。
最后修改:2025 年 06 月 29 日
如果觉得我的文章对你有用,请随意赞赏