15个docker命令搞定90%的场景

掌握这15个docker中最常用的命令足矣。这些命令足以搞定docker超90%场景。【建议收藏

一、常用命令

1. docker run - 创建并启动一个新容器

2. docker start/stop/restart - 启动/停止/重启容器

3. docker exec - 在运行中的容器内执行命令

4. docker rm - 删除容器

5. docker pull - 下载镜像

6. docker images - 列出本地镜像

7. docker rmi - 删除镜像

8. docker build - 构建自定义镜像

9. docker load - 加载tar文件为镜像

10. docker save - 保存镜像为tar文件

11. docker ps - 列出运行中的容器(加-a看所有)

12. docker logs - 查看容器日志

13. docker inspect - 查看容器/镜像的详细信息

14. docker port - 列出端口映射或容器的特定映射

15. docker stats - 实时显示容器占用资源

下面对这些命令分类详细讲解。

二、容器生命周期管理

1. docker run - 创建并启动一个新容器

用法docker run [选项] 镜像名 [命令]

核心选项

  • -d:后台运行容器(守护进程模式)
  • -it:交互模式运行容器(通常与 /bin/bash连用)
  • --name:为容器指定一个名称
  • -p:端口映射(格式:宿主机端口:容器端口
  • -v:挂载数据卷(格式:宿主机目录:容器目录
  • --rm:容器退出时自动删除(常用于临时测试)

示例

docker run -d --name web -p 80:80 nginx:alpine   # 后台启动一个名为 web 的 nginx 容器
docker run -it --rm ubuntu:22.04 /bin/bash       # 交互式启动一个临时 Ubuntu 容器

2. docker start/stop/restart - 启动/停止/重启容器

用法

docker start 容器名

docker stop 容器名

docker restart 容器名

示例

docker stop web        # 停止 web 容器
docker start web       # 启动已停止的 web 容器
docker restart web     # 重启 web 容器

要点说明docker stop会先发送友好终止信号,等待一段时间后强制停止,确保数据安全。

3. docker exec - 在运行中的容器内执行命令

用法docker exec [选项] 容器名 命令

核心选项-it(交互模式)

示例

docker exec -it web /bin/sh    # 进入正在运行的 web 容器的命令行
docker exec web ps aux         # 在不进入交互模式的情况下查看容器内的进程

要点说明:此命令针对已运行的容器,而docker run是创建新容器。

4. docker rm - 删除容器

用法docker rm 容器名

示例

docker rm web                    # 删除已停止的 web 容器
docker rm $(docker ps -aq)       # 删除所有已停止的容器

要点说明:不能直接删除正在运行的容器,除非加-f参数强制删除。

三、镜像管理

1. docker pull - 下载镜像

用法docker pull 镜像名:标签

示例

docker pull nginx:alpine        # 下载轻量版 nginx
docker pull ubuntu:22.04        # 下载特定版本的 Ubuntu

要点说明:不指定标签时默认为latest,但生产环境强烈建议使用具体版本。

2. docker images - 列出本地镜像

用法docker images

示例

docker images                   # 列出所有镜像
docker images nginx            # 只列出 nginx 相关镜像

要点说明:使用docker images -q可以只显示镜像 ID,常用于脚本。

3. docker rmi - 删除镜像

用法docker rmi 镜像名:标签或 docker rmi 镜像ID

示例

docker rmi nginx:alpine        # 通过镜像名删除
docker rmi a1b2c3d4e5f6        # 通过镜像 ID 删除

要点说明:如果镜像正在被容器使用(即使容器已停止),则无法删除,需先删除依赖的容器。通过镜像id删除时,id只能指向一个标签时。

4. docker build - 构建自定义镜像

用法docker build [选项] 构建上下文路径

核心选项-t(为镜像指定标签)

示例

docker build -t my-app:v1.0 .  # 使用当前目录的 Dockerfile 构建镜像并命名为 my-app:v1

要点说明:命令最后的点(.)表示构建上下文为当前目录,非常重要不能遗漏。

5. docker load - 加载tar文件为镜像

用法docker load tar文件

核心选项

  • -i, --input: 指定输入文件的路径。
  • -q, --quiet: 安静模式,减少输出信息。

示例

docker load -i my-app-v1.0.tar  #将tar文件导入为镜像

6. docker save - 保存镜像为tar文件

用法: docker save -o tar文件路径 镜像名:标签

示例

docker save -o my-app-v1.0.tar my-app:v1  #将my-app:v1的镜像导出为tar文件

四、信息查看与日志

1. docker ps - 列出运行中的容器(加-a看所有)

用法docker ps [选项]

示例

docker ps          # 查看正在运行的容器
docker ps -a       # 查看所有容器(包括已停止的)

要点说明docker ps -a是最常用的组合,避免遗漏已停止的容器。

2. docker logs - 查看容器日志

用法docker logs [选项] 容器名

核心选项

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

示例

docker logs web           # 查看 web 容器的历史日志
docker logs -f --tail 50 web  # 实时跟踪最后 50 行日志

要点说明:排查容器问题时的首选命令,相当于查看应用的控制台输出。

3. docker inspect - 查看容器/镜像的详细信息

用法docker inspect 容器名/镜像名

示例

docker inspect web        # 查看 web 容器的详细配置(IP、网络、挂载等)

要点说明:输出为 JSON 格式,信息非常详细,可查看容器的所有底层配置。

4. docker port - 列出端口映射或容器的特定映射

用法docker port 容器名称或id

示例

docker port web  #显示端口映射

5. docker stats - 实时显示容器占用资源

用法docker stats [容器名称或id]

示例

docker stats web  # 查看 web 容器的资源占用
docker stats      # 查看全部运行容器的资源占用

要点说明:如果没有指定容器名称或者id,则显示当前在运行的所有容器的资源占用情况。

该文首发于本人知乎号:野生码农

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值