Docker的常用镜像

发布于:2025-03-07 ⋅ 阅读:(10) ⋅ 点赞:(0)

Docker的常用镜像命令主要包括镜像的查看、搜索、拉取、删除、构建等操作,以下是综合多个来源的总结:


一、基础镜像操作

  1. 查看本地镜像

    docker images
    

    • 显示所有本地镜像,包含仓库名(REPOSITORY)、标签(TAG)、镜像ID、创建时间及大小。
    • 常用选项:
    -a:显示所有镜像(包括中间层镜像)
    -q:仅显示镜像ID

  2. 搜索公共镜像

    docker search <镜像名>
    

    • 从Docker Hub搜索镜像,支持筛选:
    --filter "is-official=true":仅显示官方镜像
    -s <星数>:按星数过滤(如-s 30显示星数≥30的镜像)

  3. 拉取镜像

    docker pull <镜像名>:<标签>
    

    • 默认从Docker Hub下载镜像,未指定标签时自动拉取latest版本。
    • 示例:docker pull ubuntu:20.04

  4. 删除镜像

    docker rmi <镜像名/ID>
    

    • 删除单个镜像,-f强制删除(如正在被容器使用)。
    • 批量删除:

    docker rmi -f $(docker images -aq)  # 删除所有镜像
    

二、镜像构建与推送

  1. 构建自定义镜像

    docker build -t <镜像名>:<标签> <上下文路径>
    

    • 通过Dockerfile构建镜像,-t指定名称和标签,-f指定非默认Dockerfile路径。

  2. 推送镜像到仓库

    docker push <镜像名>:<标签>
    

    • 需先登录镜像仓库(docker login <仓库地址>)。


三、镜像维护与清理

  1. 清理未使用的镜像

    docker image prune
    

    • 删除未被容器引用的镜像,-a删除所有未使用的镜像。

  2. 查看镜像元数据

    docker inspect <镜像名/ID>
    

    • 显示镜像的详细配置信息,包括层结构、环境变量等。


四、其他实用命令

  1. 登录镜像仓库

    docker login <仓库地址>
    

    • 访问私有仓库或第三方仓库(如阿里云、腾讯云)时需先登录。

  2. 镜像标签管理

    docker tag <源镜像名>:<标签> <新镜像名>:<新标签>
    

    ◦ 为镜像创建新标签,常用于版本管理或推送至不同仓库。


示例场景

拉取并运行Nginx

docker pull nginx:latest
docker run -d -p 8080:80 nginx

构建并推送自定义镜像

docker build -t myapp:1.0 .
docker tag myapp:1.0 myregistry/myapp:1.0
docker push myregistry/myapp:1.0

好的,我现在需要回答用户的问题:“docker常用容器命令”。首先,我得看看用户提供的搜索结果中有哪些相关的信息。用户给了8个搜索结果,我需要逐一查看,找出与容器命令相关的内容。

首先看网页1,里面提到了很多容器管理的命令,比如docker ps查看运行中的容器,docker run启动容器,还有进入容器、查看日志、删除容器等命令,这些都是常用的。特别是网页1还提到了数据卷和网络管理的命令,不过用户的问题主要是容器命令,可能需要重点提取这部分。

接下来是网页2,同样有查看容器状态、启动停止容器、进入容器、删除容器等内容。这里还提到了docker container prune删除所有已停止的容器,这个可能也是常用命令之一。另外还有容器日志管理的一些选项,比如-f实时跟踪日志,这些应该包含进去。

网页3的内容看起来比较基础,包括docker run的参数,比如映射端口、挂载数据卷,还有docker ps、start/stop/restart等命令。这里还提到了Dockerfile和docker-compose,不过用户问题可能不需要这些,但需要注意是否有相关命令需要提及。

网页4分成了常规和高级用法,容器管理部分有启动、查看、停止删除、进入容器等,还提到了强制删除容器和进入容器执行命令的高级用法。这些可能需要作为补充。

网页5列出了很多具体的命令例子,比如docker ps -a查看所有容器,docker exec进入容器,docker rm删除容器等。这里还提到了保存和加载镜像的命令,但用户问题主要关注容器命令,所以镜像管理可能不需要,但容器日志、提交容器变化为镜像这些可能需要包含。

网页6详细介绍了容器操作命令,包括创建、列出、启动、停止、进入、删除容器,以及网络管理。其中端口映射和后台运行的选项在docker run中很重要,需要强调。

网页7主要是基础命令,比如启动Docker服务,镜像管理,可能和容器命令关联不大,但可能有docker run的部分。

网页8虽然主要讲环境搭建,但其中涉及运行容器和挂载目录的命令,比如docker run -v,这可能也是常用命令的一部分。

现在需要整合这些信息,把常用的容器命令分类整理。可能分为启动容器、查看容器、启停重启、进入容器、删除容器、查看日志、数据卷挂载、网络连接等方面。每个部分从各个网页中提取对应的命令和参数,并引用对应的网页编号。

需要注意避免重复,比如多个网页都提到的docker ps、docker run等命令,需要合并说明,并引用所有相关的网页。例如docker run的参数在网页1、3、4、6中都有提到,需要综合这些信息。

另外,高级用法如强制删除、查看容器详情等,可以单独作为小提示或高级命令部分。用户可能需要常用命令,但适当的高级选项也能帮助用户更有效地使用。

最后,确保每个命令都有正确的语法和示例,并正确引用来源网页。例如docker exec -it来自网页1、2、4、5,需要引用这些网页的编号。

可能的结构:

  1. 容器生命周期管理(启动、停止、重启)
  2. 查看容器信息(ps, inspect, logs)
  3. 进入容器与执行命令
  4. 删除容器
  5. 数据卷挂载
  6. 网络配置
    每个部分下详细列出命令和参数,并标注引用来源。

以下是 Docker 常用容器命令的总结,涵盖容器的生命周期管理、信息查看、交互操作等核心场景:


一、容器生命周期管理

  1. 启动容器
    • 基本启动:docker run [选项] 镜像名
    示例:docker run -d --name my_nginx nginx(后台运行并命名容器)
    • 常用选项:
    -d:后台运行(守护模式)
    -p 宿主机端口:容器端口:端口映射(如 -p 8080:80
    -v 宿主机路径:容器路径:数据卷挂载(如 -v /data:/app/data
    -e 环境变量:设置容器内环境变量(如 -e MYSQL_ROOT_PASSWORD=123456

  2. 启停与重启
    • 启动已停止的容器:docker start 容器名/ID
    • 停止容器:docker stop 容器名/ID(优雅停止)
    • 强制停止:docker kill 容器名/ID
    • 重启容器:docker restart 容器名/ID


二、容器信息查看

  1. 查看容器列表
    • 运行中的容器:docker ps
    • 所有容器(含已停止的):docker ps -a

  2. 查看容器详情
    • 详细信息:docker inspect 容器名/ID(包含网络、卷等配置)
    • 实时资源占用:docker stats 容器名/ID(CPU/内存监控)

  3. 查看日志
    • 基础日志:docker logs 容器名/ID
    • 实时跟踪日志:docker logs -f 容器名/ID
    • 显示最后 N 行:docker logs --tail 20 容器名/ID


三、容器交互与维护

  1. 进入容器终端
    • 交互式终端:docker exec -it 容器名/ID /bin/bash(常用 /bin/bash/bin/sh
    • 执行单条命令:docker exec 容器名/ID ls /app(不进入终端直接执行)

  2. 删除容器
    • 删除已停止的容器:docker rm 容器名/ID
    • 强制删除运行中的容器:docker rm -f 容器名/ID
    • 清理所有已停止的容器:docker container prune


四、高级操作

数据卷挂载
使用 -v 参数持久化数据,如 docker run -v /host/data:/container/data
网络配置
• 查看容器网络:docker network inspect 网络名
• 连接自定义网络:docker network connect 网络名 容器名
导出与提交
• 导出容器文件系统:docker export 容器名 > backup.tar
• 保存容器为镜像:docker commit 容器名 新镜像名


常用命令速查表

功能 命令示例
后台运行容器 docker run -d --name web nginx
映射端口 docker run -p 8080:80 nginx
查看实时日志 docker logs -f --tail 20 web
进入容器终端 docker exec -it web /bin/bash
批量删除停止的容器 docker container prune

更多细节可参考 Docker 官方文档或相关技术博客。


网站公告

今日签到

点亮在社区的每一天
去签到