二、Docker镜像使用和命令

2023-05-16

文章目录

  • Docker镜像使用和命令
    • 列出本机镜像
    • 查找镜像
    • 拉取镜像
    • 删除镜像
    • 删除所有镜像
    • 镜像的原理

Docker镜像使用和命令

镜像就是一个轻量级的,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。

所有的应用,直接打包docker镜像,就可以直接跑起来。

获取镜像的方式:

  • 从远程仓库下载
  • 从别人那里拷贝
  • 自己制作一个镜像DockerFile

列出本机镜像

我们可以使用 docker images 来列出本地主机上的镜像。

在这里插入图片描述
各个选项说明:

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如 ubuntu 仓库源里,有 15.10、14.04 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

所以,我们如果要使用版本为15.10的ubuntu系统镜像来运行容器时,命令如下:

docker run -t -i ubuntu:15.10 /bin/bash

参数说明:

  • -i: 交互式操作。
  • -t: 终端。
  • ubuntu:15.10: 这是指用 ubuntu 15.10 版本镜像为基础来启动容器。
  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

如果要使用版本为 14.04 的 ubuntu 系统镜像来运行容器时,命令如下:

docker run -t -i ubuntu:14.04 /bin/bash 

如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像。

查找镜像

我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/

我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个 redis 的镜像来作为我们的 web 服务。我们可以通过 docker search 命令搜索 httpd 来寻找适合我们的镜像。

docker search redis

在这里插入图片描述

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

拉取镜像

我们决定使用上图中的最新redis镜像,使用命令 docker pull 来下载镜像,如果要下载指定版本的镜像,可以在镜像的后面加上:版本号

# 下载最新版本
docker pull redis
# 下载指定版本
docker pull redis:5.0

在这里插入图片描述

删除镜像

镜像删除使用 docker rmi 命令,比如我们删除redis镜像:

# 用名称删除
docker rmi redis:5.0
# 用Image ID删除
docker rmi 7614ae9453d1

删除所有镜像

# 删除所有redis镜像
docker rmi $(docker images -q)

镜像的原理

首先来看Linux的文件系统:

Linux文件系统由bootfs 和rootfs 两部分组成

  • bootfs:包含bootloader(引导加载程序)和kernel(内核)
  • rootfs:root文件系统,包含的就是典型的Linux 系统中的/dev、/proc、/bin等标准目录和文件
  • 不同的Linux 发行版,bootfs 基本一样,而rootfs 不同,如ubuntu,CentOS等

Docker 镜像原理:

  • Docker 镜像是由特殊的文件系统叠加而成
  • 最低端是bootfs,并使用宿主机的bootfs
  • 第二层是root 文件系统rootfs ,称为base iamge
  • 然后再往上可以叠加其他的镜像文件
  • 统一文件系统(Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统
  • 一个镜像可以放在另一个镜像的上面。位于下面的镜像称为父镜像,最底部的镜像称为基础镜像
  • 当从一个镜像启动容器时,Docker会在最顶层加载一个读写文件系统作为容器

镜像制作:

容器转为镜像:

docker commit 容器id 镜像名称:版本号
docker save -o 压缩文件名称 镜像名称:版本号
docker load -i 压缩文件名称
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二、Docker镜像使用和命令 的相关文章

随机推荐

  • CMakeLists.txt常用语法

    CMakeLists txt常用语法 cmake minimum requiredprojectadd executableinclude directoriesadd libraryalias library xff08 别名库 xff0
  • git 合并分支

    假如我们现在在dev分支上 xff0c 刚开发完项目 xff0c 执行了下列命令 xff1a git add git commit m 39 提交的备注信息 39 git push u origin dev 想将dev分支合并到master
  • 月薪35k的简历是怎么包装的 ,让面试官心动的标准简历(附模板分享)

    有过面试的都知道 xff0c 不管怎样 xff0c 面试多多少少都和简历有这很重要的 毕竟面试官要通过简历了解面试者的基本信息 过往经历 xff0c 来判断面试者和岗位的匹配度 面试者期望通过简历把自己较好的一面体现给面试官 xff0c 所
  • 对无人机高度环的思考和第一次炸机体验

    前两天学长布置了一个任务 xff0c 大体就是在无人机起飞一段时间后再次改变飞行高度 一开始我觉得挺简单 xff0c 随便改改就行了 xff0c 所以今天才开始写 xff0c 然后 炸机了 先说说第一次炸机的体验 就是看到无人机炸机的疯狂往
  • 21年电赛无人机G题思路

    21年电赛结束了 xff0c 我们选择的题目是无人机G题 通过题目也能感受到今年的难度 xff0c 在这里旨在为大家提供一个G题的解题思路和方案 读完题目 xff0c 可以发现主要有两个难题需要解决 1 飞行路径问题 xff08 如何确保飞
  • 面试必问之Promise

    常见 Promise 面试题 1 了解 Promise 吗 xff1f 2 Promise 解决的痛点是什么 xff1f 3 Promise 解决的痛点还有其他方法可以解决吗 xff1f 如果有 xff0c 请列举 4 Promise 如何
  • js中的防抖和节流的原理

    在进行窗口的resize scroll xff0c 输入框内容校验等操作时 xff0c 如果事件处理函数调用的频率无限制 xff0c 会加重浏览器的负担 xff0c 导致用户体验非常糟糕 此时我们可以采用debounce xff08 防抖
  • 汽车CAN总线介绍

    CAN Controller Area Network 控制器局域网络 xff0c CAN网络在早期的整车应用中以BCM 车身控制器 为控制中心 xff0c 主要是车身零部件 雨刮 大灯 车窗 xff0c 智能硬件较少 xff0c 所以早期
  • /usr/bin/ssh-copy-id: ERROR

    搭建hadoop的时候不小心配错域名 导致配置免密码登陆的时候密码一直输入错误 重新修改域名后在配置就一直报错 解决办法 在 ssh目录下修改known hosts文件中配置错的域名 直接删除 重新执行命令 ssh copy id slav
  • 完整安装PX4/PX4-Autopilot,无需科学上网。

    安装自https github com PX4 PX4 Autopilot 的px4功能包 xff0c 因为需要科学上网似乎会失败 xff0c 这里采用其他方法来安装 截止到2022年9月 https hub fastgit xyz这个镜像
  • linux 安装docker报错解决

    出现问题说明 xff1a 当已经确定好了docker安装好了 xff08 用dockers version确认版本的情况下 xff09 一般可以正常运行 xff0c 但是用命令查看systemctl status docker运行状态时 x
  • 网络编程——UDP编程

    一 网络编程基础 计算机网络是指两台或更多的计算机组成的网络 xff0c 在同一个网络中 xff0c 任意两台计算机都可以直接通信 xff0c 因为所有计算机都需要遵循同一种网络协议 因此 xff0c 为了把计算机网络接入互联网 xff0c
  • Ubuntu20.04配置ORB-SLAM3环境并运行

    Ubuntu20 04配置ORB SLAM3环境并运行 1 安装依赖 安装Pangolin 安装OPENCV 安装Eigen 安装Python DBow2和g2o 2 源码下载3 遇到的问题1 编译第三方库出现问题 xff0c 安装Boos
  • toString()方法的作用

    将当前函数的函数名 和引用地址 以数组的形式返回 toString 方法是自带object类中的方法 如果不对toString 方法进行重写 xff0c 那么默认返回对象名和引用地址 重写示例 xff1a package com artis
  • Windows通过FTP服务上传20G大文件到Linux服务器

    场景描述 xff1a 在工作中 xff0c 需要将Windows中的文件上传到Linux服务器中 xff0c 文件大小为20G 通过xshell和rz lrzsz软件提供 xff0c rz上传文件 xff0c sz下载文件 的方式均无法上传
  • Postman Pre-request Script(预处理脚本) SNIPPETS所有用法解释

    获取环境变量 xff0c 全局变量 Get an environment variable 获取环境变量variable key pm environment get 34 variable key 34 Get a global vari
  • 编译ros工程时catkin_make 报错:This file requires compiler and library support for the ISO C++ 2011 standard

    This file requires compiler and library support for the ISO C 43 43 2011 standard This support must be enabled with the
  • ESP8266解析S-BUS协议

    Talk is cheap show you code 编译平台 xff1a Arduino IDE span class token comment 功能 xff1a 软件串口读取S BUS数据 xff1b 解析 xff1b 串口打印 s
  • CAN的ACK深入理解

    CAN信息发送成功后 xff0c 会有个应答间隙的 xff0c 在这个间隙内 xff0c 接收节点可以准备要回复的信息 xff0c 也就是把应答场填充为显性0 xff0c 在发送时其为隐性1 应答过程可能如下 xff1a 当信息传输到ACK
  • 二、Docker镜像使用和命令

    文章目录 Docker镜像使用和命令列出本机镜像查找镜像拉取镜像删除镜像删除所有镜像镜像的原理 Docker镜像使用和命令 镜像就是一个轻量级的 xff0c 可执行的独立软件包 xff0c 用来打包软件运行环境和基于运行环境开发的软件 xf