Docker常用命令 | 服务+镜像+容器

🌈
个人主页: Hygge_Code
个人主页: Hygge_Code
🔥
热门专栏:从0开始学习Java | Linux学习| 计算机网络
热门专栏:从0开始学习Java | Linux学习| 计算机网络
💫
个人格言: “既然选择了远方,便不顾风雨兼程”
个人格言: “既然选择了远方,便不顾风雨兼程”

文章目录
- Docker常用命令
-
- 一、基础帮助命令 🍂
- 二、镜像管理命令 🥝
-
- 1. 查看本地镜像
- 2. 搜索镜像
- 3. 拉取(下载)镜像
- 4. 查看镜像/容器占用空间
- 5. 删除镜像
- 6. 什么是虚悬镜像?🤔
- 三、容器管理命令 🥝
-
- 1. 容器启动命令
-
- 常用参数说明
- 代码示例
- 2. 查看容器状态
- 3. 容器的启动+停止
- 4. 进入运行中的容器
- 5. 容器日志与进程查看
- 6. 容器删除操作
- 7. 容器数据备份与迁移
-
- (1)从容器拷贝文件到主机
- (2)导出容器为tar包
- (3)导入tar包为镜像
- 四、仓库交互命令 🍂
- 五、常用命令速查 🧾
Docker常用命令
一、基础帮助命令 🍂
# 查看Docker整体帮助文档
docker --help
# 查看指定命令的详细用法(以cp命令为例)
docker cp --help
说明:docker --help会列出所有核心命令分类(如镜像命令、容器命令),具体命令 --help能查看该命令的参数、语法格式和示例
二、镜像管理命令 🥝
1. 查看本地镜像
# 列出本地所有镜像(默认隐藏中间层镜像)
docker images
# 列出本地所有镜像(包含历史映像层)
docker images -a
# 只显示镜像ID(常用于批量操作)
docker images -q
# 列出指定仓库的镜像(如只看redis镜像)
docker images redis
# 显示镜像的摘要信息
docker images --digests
字段说明:
- REPOSITORY:镜像仓库源(如ubuntu、redis)
- TAG:镜像标签(版本号,默认latest为最新版)
- IMAGE ID:镜像唯一标识
- CREATED:镜像创建时间
- SIZE:镜像大小
2. 搜索镜像
从公共仓库搜索需要的镜像:
# 搜索指定名称的镜像(如搜索redis)
docker search redis
# 搜索镜像并限制结果数量(如只显示前5个)
docker search --limit 5 redis
搜索结果字段说明:
| 参数 | 说明 |
|---|---|
| NAME | 镜像名称 |
| DESCRIPTION | 镜像功能描述 |
| STARS | 点赞数量 |
| OFFICIAL | 是否为官方发布镜像 |
| AUTOMATED | 是否为自动构建镜像 |
3. 拉取(下载)镜像
从仓库下载镜像到本地,语法:docker pull 镜像名[:TAG]
# 下载最新版本的镜像(不指定TAG默认latest)
docker pull mysql
# 下载指定版本的镜像(如redis 6.0.8)
docker pull redis:6.0.8
4. 查看镜像/容器占用空间
# 查看镜像、容器、数据卷的空间占用情况
docker system df
输出说明:
- TYPE:资源类型(Images/Containers/Local Volumes/Build Cache)
- TOTAL:总数量
- ACTIVE:活跃数量
- SIZE:占用总空间
- RECLAIMABLE:可回收空间(如未使用的镜像、停止的容器)
5. 删除镜像
# 根据镜像名称删除(如删除hello-world镜像)
docker rmi hello-world
# 根据镜像ID删除
docker rmi feb5d9fea6a5
# 强制删除镜像
docker rmi -f 镜像ID/镜像名
# 删除多个镜像(空格分隔)
docker rmi -f ubuntu:latest redis:6.0.8
# 删除所有本地镜像
docker rmi -f $(docker images -qa)
注意事项:
- 不能直接删除正在运行的容器所依赖的镜像,需先停止容器或强制删除
-
$(docker images -qa)会获取所有镜像ID,结合-f参数实现批量删除
6. 什么是虚悬镜像?🤔
仓库名、标签均为<none>的镜像称为虚悬镜像,无任何用途,可以删掉:
# 查看所有虚悬镜像
docker images -f dangling=true
# 删除所有虚悬镜像
docker image prune
三、容器管理命令 🥝
1. 容器启动命令
核心命令:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
常用参数说明
| 参数 | 作用 |
|---|---|
| – -name=“容器名” | 指定容器名称(如- -name=u1),避免默认随机名称 |
| -d | 后台运行容器(守护式容器),返回容器ID |
| -it |
交互式(前台)运行容器(-i:交互模式,-t:分配伪终端) |
| -P | 随机端口映射(大写P),Docker自动分配主机端口映射到容器端口 |
| -p | 指定端口映射(小写p),格式:主机端口:容器端口(如-p 8080:80) |
| –privileged=true | 扩大容器权限(解决CentOS7中目录挂载权限问题) |
| -v | 数据卷挂载(如-v 宿主机目录:容器目录) |
代码示例
# 交互式启动Ubuntu容器,进入bash终端
docker run -it ubuntu /bin/bash
# 指定容器名启动(如命名为u1)
docker run -it --name=u1 ubuntu /bin/bash
# 后台启动Redis容器,指定端口映射(主机6379映射容器6379)
docker run -d -p 6379:6379 --name=myredis redis:6.0.8
# 启动守护式容器(后台运行,不占用终端)
docker run -d redis:6.0.8
2. 查看容器状态
# 查看正在运行的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 查看最近创建的容器(默认最近1个)
docker ps -l
# 查看最近创建的n个容器(如最近2个)
docker ps -n 2
# 只显示容器ID
docker ps -q
# 查看容器详细信息(如查看u1容器详情)
docker inspect u1
3. 容器的启动+停止
# 启动已停止的容器
docker start 容器ID/容器名
# 重启容器
docker restart 容器ID/容器名
# 停止容器
docker stop 容器ID/容器名
# 强制停止容器
docker kill 容器ID/容器名
4. 进入运行中的容器
当容器以-d后台运行时,需进入容器进行操作,常用两种方式:
# 方式1:exec命令(退出容器后容器仍运行)
docker exec -it 容器ID/容器名 /bin/bash
# 示例:进入名为 myredis 的容器
docker exec -it myredis /bin/bash
# 方式2:attach命令(退出容器后容器会停止)
docker attach 容器ID/容器名
区别:
exec会创建新的终端进程,不影响容器运attach直接连接容器的主进程,退出后容器停止。
5. 容器日志与进程查看
# 查看容器运行日志
docker logs 容器ID/容器名
# 实时查看日志
docker logs -f 容器ID/容器名
# 查看容器内运行的进程
docker top 容器ID/容器名
6. 容器删除操作
# 删除已停止的容器
docker rm 容器ID/容器名
# 强制删除容器(无论是否运行)
docker rm -f 容器ID/容器名
# 批量删除所有停止的容器
docker rm -f $(docker ps -a -q)
# 批量删除所有容器
docker rm -f $(docker ps -qa)
注意:删除容器不会影响镜像,镜像可重新创建新容器。
7. 容器数据备份与迁移
(1)从容器拷贝文件到主机
# 语法:docker cp 容器ID:容器内路径 主机目标路径
# 示例:将容器内/tmp/a.txt拷贝到主机/tmp目录
docker cp 608d2057e7e5:/tmp/a.txt /tmp/a.txt
(2)导出容器为tar包
# 语法:docker export 容器ID > 文件名.tar
docker export 608d2057e7e5 > ubuntu.tar.gz
(3)导入tar包为镜像
# 语法:cat 文件名.tar | docker import - 镜像用户/镜像名:版本号
cat ubuntu.tar.gz | docker import - wen/ubuntu:1.0
四、仓库交互命令 🍂
仓库用于存储镜像,常用操作包括登录、推送镜像、拉取镜像。
# 登录Docker仓库(以阿里云为例)
docker login --username=用户名 registry.cn-hangzhou.aliyuncs.com
# 退出仓库登录
docker logout
# 给镜像打标签(推送镜像到仓库前必须操作)
# 语法:docker tag 本地镜像ID 仓库地址/命名空间/镜像名:版本号
docker tag a31aabe9e714 registry.cn-hangzhou.aliyuncs.com/krisswen/linux1:1.0
# 推送镜像到仓库
docker push registry.cn-hangzhou.aliyuncs.com/krisswen/linux1:1.0
# 从仓库拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/krisswen/linux1:1.0
注意:推送镜像到私有仓库时,需先登录且镜像标签符合仓库规范(仓库地址/命名空间/镜像名:版本号)。
五、常用命令速查 🧾
| 功能分类 | 核心命令 |
|---|---|
| 镜像查看 |
docker images docker images -a docker images -q
|
| 镜像搜索 |
docker search 镜像名 docker search --limit 数量 镜像名
|
| 镜像下载 | docker pull 镜像名[:TAG] |
| 镜像删除 |
docker rmi 镜像ID/名称 docker rmi -f 镜像ID/名称
|
| 容器创建 | docker run -it --name=容器名 镜像名 /bin/bash |
| 容器启动 | docker start 容器ID/名称 |
| 容器停止 |
docker stop 容器ID/名称 docker kill 容器ID/名称
|
| 容器查看 |
docker ps docker ps -a docker inspect 容器ID/名称
|
| 进入容器 | docker exec -it 容器ID/名称 /bin/bash |
| 容器删除 |
docker rm 容器ID/名称 docker rm -f 容器ID/名称
|
| 仓库操作 |
docker login docker push 镜像标签 docker pull 镜像标签
|
如果我的内容对你有帮助,请 点赞 , 评论 , 收藏 。创作不易,大家的支持就是我坚持下去的动力!

© 版权声明
文章版权归作者所有,未经允许请勿转载。