Docker(二) ----Docker 的基本操作

news2024/10/6 18:23:09

文章目录

  • 前言
  • 一、镜像操作
    • 1.1 镜像的组成
    • 1.2 镜像的操作
  • 二、容器操作
    • 2.1 容器的基本操作
    • 2.2 容器操作的小结
  • 总结


前言

前面我们学习了Docker的基本定义以及如何安装 Docker, 接下来我们对Docker的基本操作进行了解。上篇文章可点击 初始Docker


一、镜像操作

1.1 镜像的组成

  • 镜像的名称一般分为两个部分组成:[repository]:[tag]
  • 在没有指定tag时,默认就是 latest, 代表最新版本的镜像
    在这里插入图片描述

当你想在Docker上使用某个镜像的时候,你可以通过 DockerHub(相当于一个Docker的仓库)去了解它的相关知识,比如如何拉取呀,如何使用呀。
在这里插入图片描述
在这里插入图片描述

1.2 镜像的操作

请添加图片描述
通过上图,我们基本上就可以了解到镜像的一些基本操作

  • docker build: 它可以帮助我们构建一些自定义镜像。而Dockerfile 就相当于一个文本文件,其中包含一个个的指令,这些指令是用来说明执行什么来构建镜像

  • docker images: 查看你已经拉取的镜像
    在这里插入图片描述

  • docker rmi 镜像名称或镜像 id: 删除对应的镜像

    docker rmi nginx:latest
    

    在这里插入图片描述

Tips: 当我们平时使用过程中,突然忘记某个命令的参数时,help 命令就十分有帮助了

docker 命令 --help

下面是删除镜像的帮助文档
在这里插入图片描述

  • docker save [Options] IMAGE: 保存一个镜像为一个压缩包
    Options: 可以写 -o 表示对应的输出文件名,Image 表示你要打包的一个镜像
    在这里插入图片描述

    docker save -o nginx.tar nginx:latest
    

    在这里插入图片描述

  • docker load: 加载压缩包为镜像
    当你把一个镜像打包为一个压缩包后,你可以通过 dokcer load 命令在其他服务的docker上加载你这个镜像。

    docker load -i nginx.tar
    

    在这里插入图片描述

  • dokcer push:推送镜像到服务

  • docker pull: 从服务拉取镜像

二、容器操作

2.1 容器的基本操作

从上面,我们知道如何去拉取,加载,保存,删除镜像。但是镜像只是一个载体,我们只有把镜像跑起来成为容器,我们才能真正的使用它。
下面是容器的基本你操作:
请添加图片描述

  • docker run: 将镜像运行为容器
    我们可以看到下面是通过 help 文档去查询它的相关参数,可以看到参数是十分的多,且理解难度也比较大。这时候,我们可以针对具体镜像的运行去 Doker Hub上查询具体的使用实例。
    在这里插入图片描述
    下面是 Docker Hub 上 关于 Nginx的多个使用实例。
    在这里插入图片描述
    但这看上去还是有点难度的,我们可以通过下面命令里具体参数对 docker run 有进一步了解

    $ docker run --name some-nginx -d -p 8080:80 nginx
    
    • –name: 给容器起一个名字,比如 some-nginx
    • -d: 后台运行容器
    • -p: 将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
    • nginx: 镜像名称
  • docker stop 容器id : 停止容器
    在这里插入图片描述

    -- 其中-t可以不加,它表示多久后关闭
    docker stop -t 12 cc4064feb479
    

    在这里插入图片描述

  • docker start 容器id:开启某个容器

    在这里插入图片描述

  • docker ps : 查看正在运行的容器

    在这里插入图片描述
    它还有一些其他的参数,可通过 docker ps --help 自行查阅学习

    在这里插入图片描述

  • dokcer logs 容器id: 查询对应容器的日志

    docker logs -f cc4064feb479
    

    在这里插入图片描述

  • doccker exec -it [容器名] [要执行的命令]
    进入容器内部,执行一个命令

    docker exec -it mn1 bash
    

    在这里插入图片描述
    docker exec: 进入容器内容部,执行一个命令
    -it: 给当前进入的容器创建一个标准输入,输出终端,允许我们与容器交互
    mn1: 要进入容器的名称
    bash: 进入容器后执行的命令,bash 是一个linux终端交互命令

  • docker rm [-f] 容器id: 删除容器

     docker rm -f cc4064feb479
    

    在这里插入图片描述

2.2 容器操作的小结

  1. docker run 镜像: 运行某个容器
    • –name: 指定容器名称
    • -p: 指定端口映射
    • -d: 让容器再后台运行
  2. 查看容器日志的命令:
    • docker logs
    • 添加 -f 参数可以持续查看日志
  3. 查看容器状态:
    • docker ps
    • -a 参数可以查看所有容器 (包括没有运行的)
  4. 删除容器
    • docker rm
    • -f 参数可以强制删除正在运行的容器
  5. 停止容器
    • docker stop
  6. 进入容器
    • docker exec -it [容器名] [要执行的命令]

总结

希望通过这篇文章你能了解到镜像和容器的基本操作,其实记住命令并不是最关键的。重要的是你要学会用 – help 去了解这些操作的参数,在帮助文档内容较多且无法理解的情况下,我们可以通过 docker hub 去查找相关的应用实例。如何去使用固然重要,但是学习的方法和途径才是更重要的过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/81352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot 整合 Groovy 脚本,实现动态编程

Groovy简介 Groovy 是增强 Java 平台的唯一的脚本语言。它提供了类似于 Java 的语法,内置映射(Map)、列表(List)、方法、类、闭包(closure)以及生成器。脚本语言不会替代系统编程语言&#xff…

在idea中离线安装scala

由于网络受限,需要离线安装和使用scala,安装步骤如下。 1 安装idea scala插件 首先在idea的Help-Aboout选项中,查看idea的版本。 这里可以看到我的版本是2022.3,因此我需要下载对应版本的scala插件(Scala插件地址&a…

git使用说明

在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 安装完成后&…

MySQL重大Bug!自增主键竟然不是连续递增

InnoDB 自增值保存在内存,MySQL 8.0后,才有了“自增值持久化”能力,即才实现了“若重启,表的自增值可以恢复为MySQL重启前的值”,具体情况是: ≤5.7,自增值保存在内存,无持久化。每…

基于免疫算法的认知无线电资源分配优化算法的matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 认知无线电(CR)的概念来自Joseph Mitolo博士1999年的开创性工作。它自适应地调整内部通信机制,通过学习,了解等实时变化特定的无线电操作参数&…

数据库实验四:触发器实验

实验四 触发器实验 1.实验目的 ​ 掌握数据库触发器的设计和使用方法。 2.实验内容和要求 ​ 定义BEFORE触发器和AFTER触发器,能够理解不同类型触发器的作用和执行原理,验证触发器的有效性。 3.实验重点和难点 ​ 实验重点:触发器的定义…

大二Web课程设计——张家界旅游网站设计与实现(HTML+CSS+JavaScript)

👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…

【应用】Modbus 通讯协议

Modbus 通讯协议Modbus 协议基础Modbus 存储区Modbus-RTU 协议Modbus-TCP 协议Java 实现 Modbus 通讯Modbus ReadModbus Write模拟数据进行代码测试Modbus-RTU 代码验证Modbus-TCP 代码验证SerialPortWrapper 实现类代码Modbus 协议基础 Modbus 是一种总线通讯协议,…

[附源码]计算机毕业设计贵港高铁站志愿者服务平台Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis MavenVue等等组成,B/S模式…

Spring Bean的生命周期

一、首先我们要知道什么是Spring Bean:Spring Bean是Spring框架在运行管理时的对象。 二、Spring Bean的生命周期: 简单来说bean会经历四个阶段: 实例化 -》 属性赋值 -》初始化 -》销毁 下面我们来具体看一下: 1.实例化 Bea…

软件质量评估模型

软件质量是指软件产品满足用户要求的程度。可以从多个方面来理解此处所指的用户要求,包括用户期望的软件系统的功能、性能、可维护性、可操作性、可重用性等等。在软件项目实施过程中,经常会听到用户关于软件系统的以下一组质量评价。 软件系统没有某些方面的功能软件系统运行…

【5G MAC】NR Timing Advance(RAR TA 和 MAC-CE TA)

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

[Linux]基础命令(1)

Linux基本命令(1) 文章目录Linux基本命令(1)1.操作系统:(1)什么是操作系统:(2)为什么要有操作系统:2. ls命令:3. pwd指令:4. cd命令:5…

2022-12-11

文章目录前言PWMPwmChannelPwmAssignedHwUnitPwmChannelIdPwmCoherentUpdatePwmDutycycleDefaultPwmIdleStatePwmNotificationPwmChannelClassPwmPeriodDefaultPwmPolarityPwmReferenceChannelPwmSafetySignalPwmShiftValuePWM输出偏移的使用PwmConfigurationOfOptApiServicesP…

windows 基于 MediaPipe 实现 Holistic

主页: https://google.github.io/mediapipe/solutions/holistic.html MediaPipe Holistic pipelines 集成了姿势、面部和手部组件的独立模型,每个组件都针对其特定领域进行了优化,每个组件的推断输入图不同。 MediaPipe Holistic 首先通过 BlazePose 的姿…

基于极限学习机进行股市预测(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

MySQL-InnoDB的事务隔离级别

MySQL 是一个服务器/客户端架构的软件,对于同一个服务器来说,可以有若干个客户端与之连接,每个客户端与服务器连接上之后,就可以称之为一个会话( Session )。我们可以同时在不同的会话里输入各种…

【图像处理】opencv | 图像的载入,显示,保存 | 视频流的载入,显示,保存

文章目录前言一、cv2读取图片并展示1.1、cv2.imread读取图片1.2、cv2.imshow展示图片1.3、完整代码1.4、封装函数调用1.5、cv2读取为灰度图像1.6、cv2.imwrite保存图像二、cv2读取视频并且展示2.1 展示彩色视频2.2 展示灰度视频2.3 保存视频前言 本文参考视频:唐宇…

二进制搭建k8s——部署etcd集群和单master

二进制搭建k8s——部署etcd集群和单master二进制搭建k8s——部署etcd集群和单master环境1、操作系统初始化配置(全部节点)2、部署 docker 引擎(所有节点)3、部署 etcd 集群准备签发证书环境在 master01 节点上操作在 node01 和 no…

端口隔离实现同一vlan下,二层和三层的互不通

如图:我们要实现下图中,PC1和PC2不通,但都和PC3互通: 配置如下: vlan batch 10 port-isolate mode all # interface GigabitEthernet0/0/1 port link-type access port default vlan 10 port-isolate enable grou…