当前位置: 首页 > article >正文

Docker | 常用的容器container命令

有镜像才能创建容器,这是根本前提(下载一个Centos.或者ubuntu镜像演示)
  • 命令图
    在这里插入图片描述

容器命令

    • 1. 查看容器docker ps
    • 2. 在docker上拉取Ubuntu镜像
    • 3. 新建+启动容器 docker run xxxx
      • 启动交互式容器(前台命令行)⭐
      • 多次 docker run
      • 说明
    • 4. docker ps xxx
    • 5. 查看命令文档 docker xxx --help
    • 6. 退出容器
      • exit
      • ctrl+p+q
    • 7. 其他命令
      • docker start ID
    • 8. docker rm 容器
      • 温柔删除
      • 强硬删除
      • 一次性删除多个容器
    • 9.重要
      • 启动守护式容器 docker run -d 容器名
      • redis前后台启动演示case
      • docker logs 容器id
      • docker top 容器ID
      • dockers inspect 容器ID
      • 进入正在运行的容器并以命令行交互
        • docker exec -it 容器ID bash ⭐⭐⭐
        • docker attach 容器ID
      • 容器拷贝文件到主机
      • 导入和导出容器 ⭐⭐⭐
        • docker export 容器ID > 文件名.tar
        • cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

镜像是模板 容器才是真正干活的 是落地的实例

在这里插入图片描述

1. 查看容器docker ps

在这里插入图片描述
在 Docker 中,查看容器的状态和信息,可以使用几个不同的命令:

  1. 查看所有容器
    要查看当前 Docker 主机上所有容器的状态,包括正在运行的和已停止的,可以使用:

    docker ps -a
    

    或者使用 container 子命令:

    docker container ls -a
    
  2. 查看正在运行的容器
    如果只想查看当前正在运行的容器,可以省略 -a 参数:

    docker ps
    

    或者:

    docker container ls
    
  3. 查看容器的详细状态
    要获取容器的更多详细信息,可以使用 -a 参数结合其他选项,如 -n 来限制显示的容器数量,或者使用 --no-trunc 来显示完整的容器信息:

    docker ps -a --no-trunc
    
  4. 查看容器的统计信息
    要实时查看容器的资源使用情况,如 CPU 和内存使用情况,可以使用 stats 命令:

    docker stats
    
  5. 查看容器的日志
    要查看容器的日志,可以使用 logs 命令:

    docker logs [container_id_or_name]
    
  6. 查看容器的内部文件系统
    要查看容器内部的文件系统,可以使用 exec 命令来启动一个 shell:

    docker exec -it [container_id_or_name] /bin/bash
    

    这将打开一个交互式 shell,允许你浏览文件系统。

  7. 查看容器的配置
    要查看容器的配置信息,可以使用 inspect 命令:

    docker inspect [container_id_or_name]
    
  8. 查看容器的网络信息
    要查看容器的网络设置,可以使用 network inspect 命令:

    docker network inspect [network_id_or_name]
    

这些命令提供了不同层面的信息,帮助你了解 Docker 容器的运行状态和配置。如果你需要进一步的帮助或有关于 Docker 的问题,请随时告诉我。

2. 在docker上拉取Ubuntu镜像

  • 其结构如下
    在这里插入图片描述
docker pull ubuntu

在这里插入图片描述

3. 新建+启动容器 docker run xxxx

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

每次运行run 就是生成一个容器实例

在这里插入图片描述

为什么会需要端口?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启动交互式容器(前台命令行)⭐

  • 若是直接 docker run ubuntu
    在这里插入图片描述
    没有任何交互式界面【终端】返回 没有任何交互

  • 若是直接 docker run - it ubuntu

-i : interactive
-t:tty

在这里插入图片描述
在这里插入图片描述

多次 docker run

在这里插入图片描述

说明

由于创建的Ubuntu是最小的Linux所需要的内核环境 有一些东西是没有加载的 例如vim ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/acce0f98dec94fe78d78adf7d89fac1a.png)

4. docker ps xxx

在这里插入图片描述
docker ps 不加任何参数 只显示活着的容器
在这里插入图片描述

在这里插入图片描述

5. 查看命令文档 docker xxx --help

在这里插入图片描述
在这里插入图片描述

6. 退出容器

exit      :run进去容器,exit退出,容器停止
ctrl+p+q  :run进去容器,ctrl+p+q退出,容器不停止

exit

在这里插入图片描述

ctrl+p+q

容器不停止 使用 docker ps 可以查看对应的容器在运行着

7. 其他命令

在这里插入图片描述

docker start ID

在这里插入图片描述

8. docker rm 容器

删除已经停止的容器

温柔删除

在这里插入图片描述

强硬删除

在这里插入图片描述

一次性删除多个容器

在这里插入图片描述

9.重要

启动守护式容器 docker run -d 容器名

有镜像才能创建容器 --前提

在这里插入图片描述

  • docker run -d ubuntu
    在这里插入图片描述

    很重要的要说明的一点:Docker容器后台运行,就必须有一个前台进程。

    在这里插入图片描述

    通俗点说 一些镜像需要使用 -it 参数来运行 因为它必须通过交互来使用 例如ubuntu
    相反 有些则不需要 例如数据库

redis前后台启动演示case

前台交互式启动
docker run -it redis:6.0.8

对于这样的镜像 若是前台启动 不小心退出 或者其他操作 容易误伤 因此这类镜像 建议后台启动

后台守护式启动
docker run -d redis:6.0.8

在这里插入图片描述
在这里插入图片描述

docker logs 容器id

docker top 容器ID

在这里插入图片描述

每个容器实例都是微小版的Linux

在这里插入图片描述

top 命令是一个强大的交互式实时系统监控工具,它在 Linux 和其他类 Unix 系统中广泛使用。该命令提供实时的系统运行状态,包括进程、CPU 和内存使用情况等。

dockers inspect 容器ID

查看 很多很多细节 小白先略过

进入正在运行的容器并以命令行交互

  • 给出结论
    推荐大家使用docker exec命令,因为退出容器终端,不会导致容器的停止。
    在这里插入图片描述
docker exec -it 容器ID bash ⭐⭐⭐

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 使用redis进行练习
    在这里插入图片描述
docker attach 容器ID

在这里插入图片描述

容器拷贝文件到主机

docker cp容器ID:容器内路径目的主机路径

在这里插入图片描述

导入和导出容器 ⭐⭐⭐

在这里插入图片描述

docker export 容器ID > 文件名.tar

在这里插入图片描述

cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


http://www.kler.cn/a/376222.html

相关文章:

  • FastAPI性能对比:同步vs异步
  • 对于图像的关键点数据提取openpose
  • 5G RRC连接的建立
  • 凸极式发电机的相量图分析和计算,内功率因数角和外功率因数角和功角的定义。
  • BLE 协议之 L2CAP
  • 【Rust中的序列化:Serde(一)】
  • Linux开发讲课47--- 详解 Linux 中的虚拟文件系统
  • chatgpt需求与提示词
  • 算法实现 - 选择排序(Selection sort) - 理解版
  • STM32 HAL库 SPI驱动1.3寸 OLED屏幕
  • Django目录结构最佳实践
  • git常见用法【持续补充……】
  • 河南高校大数据实验室建设案例分享
  • Qt 实战(10)模型视图 | 10.6、自定义 QTableView
  • [MRCTF2020]PYWebsite1
  • jenkins 构建报错 Cannot run program “sh”
  • Uniapp的H5以及App不支持后端传FormData类型参数的解决方案
  • C#笔记——委托(2)
  • 浅谈人工智能之DB-GPT环境安装
  • SpringBoot3使用MyBatisPlus时遇到的问题 Invalid bean definition with name
  • python编程-类的特殊方法
  • Rust 力扣 - 2653. 滑动子数组的美丽值
  • 使用Docker Compose搭建多服务应用
  • Matlab车牌识别课程设计报告模板(附源代码)
  • Flutter鸿蒙next 封装 Dio 网络请求详解:登录身份验证与免登录缓存
  • layui tree customSelet选中的内容重写,查找父级