Docker的常用镜像命令主要包括镜像的查看、搜索、拉取、删除、构建等操作,以下是综合多个来源的总结:
一、基础镜像操作
查看本地镜像
docker images
• 显示所有本地镜像,包含仓库名(REPOSITORY)、标签(TAG)、镜像ID、创建时间及大小。
• 常用选项:
◦-a
:显示所有镜像(包括中间层镜像)
◦-q
:仅显示镜像ID搜索公共镜像
docker search <镜像名>
• 从Docker Hub搜索镜像,支持筛选:
◦--filter "is-official=true"
:仅显示官方镜像
◦-s <星数>
:按星数过滤(如-s 30
显示星数≥30的镜像)拉取镜像
docker pull <镜像名>:<标签>
• 默认从Docker Hub下载镜像,未指定标签时自动拉取
latest
版本。
• 示例:docker pull ubuntu:20.04
删除镜像
docker rmi <镜像名/ID>
• 删除单个镜像,
-f
强制删除(如正在被容器使用)。
• 批量删除:docker rmi -f $(docker images -aq) # 删除所有镜像
二、镜像构建与推送
构建自定义镜像
docker build -t <镜像名>:<标签> <上下文路径>
• 通过Dockerfile构建镜像,
-t
指定名称和标签,-f
指定非默认Dockerfile路径。推送镜像到仓库
docker push <镜像名>:<标签>
• 需先登录镜像仓库(
docker login <仓库地址>
)。
三、镜像维护与清理
清理未使用的镜像
docker image prune
• 删除未被容器引用的镜像,
-a
删除所有未使用的镜像。查看镜像元数据
docker inspect <镜像名/ID>
• 显示镜像的详细配置信息,包括层结构、环境变量等。
四、其他实用命令
登录镜像仓库
docker login <仓库地址>
• 访问私有仓库或第三方仓库(如阿里云、腾讯云)时需先登录。
镜像标签管理
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,需要引用这些网页的编号。
可能的结构:
- 容器生命周期管理(启动、停止、重启)
- 查看容器信息(ps, inspect, logs)
- 进入容器与执行命令
- 删除容器
- 数据卷挂载
- 网络配置
每个部分下详细列出命令和参数,并标注引用来源。
以下是 Docker 常用容器命令的总结,涵盖容器的生命周期管理、信息查看、交互操作等核心场景:
一、容器生命周期管理
启动容器
• 基本启动: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
)启停与重启
• 启动已停止的容器:docker start 容器名/ID
• 停止容器:docker stop 容器名/ID
(优雅停止)
• 强制停止:docker kill 容器名/ID
• 重启容器:docker restart 容器名/ID
二、容器信息查看
查看容器列表
• 运行中的容器:docker ps
• 所有容器(含已停止的):docker ps -a
查看容器详情
• 详细信息:docker inspect 容器名/ID
(包含网络、卷等配置)
• 实时资源占用:docker stats 容器名/ID
(CPU/内存监控)查看日志
• 基础日志:docker logs 容器名/ID
• 实时跟踪日志:docker logs -f 容器名/ID
• 显示最后 N 行:docker logs --tail 20 容器名/ID
三、容器交互与维护
进入容器终端
• 交互式终端:docker exec -it 容器名/ID /bin/bash
(常用/bin/bash
或/bin/sh
)
• 执行单条命令:docker exec 容器名/ID ls /app
(不进入终端直接执行)删除容器
• 删除已停止的容器: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 官方文档或相关技术博客。