【环境搭建】Docker镜像相关操作(切换镜像源、查询、获取、查看、创建、上传、保存、删除等)

2023-05-16

目录

  • 1 镜像源查看及设置
  • 2 镜像相关操作
    • 2.1 获取镜像列表
    • 2.2 镜像下载
    • 2.3 查看本地的镜像
    • 2.4 从镜像创建容器
    • 2.5 将容器抽象为镜像——commit
    • 2.6 将容器抽象为镜像——Dockerfile
    • 2.7 将镜像保存为压缩包
    • 2.8 将压缩包加载为镜像
    • 2.9 镜像删除
  • 3 总结
  • 4 参考文献

1 镜像源查看及设置

  1. docker默认镜像源位于国外,下载速度较慢,建议修改配置文件daemon.json,若无则新建。
  2. 使用命令查看镜像源:cat /etc/docker/daemon.json,如果没有该文件或没有配置,则镜像源位于国外。
    在这里插入图片描述
  3. 建议修改配置文件修改镜像源为国内,使用命令vim /etc/docker/daemon.json打开文件进行修改。
  4. 修改镜像源为中国区。
    {
    “registry-mirrors”:[“https://registry.docker-cn.com”]
    }在这里插入图片描述
    或修改镜像源为网易云镜像,同理还有阿里源、清华源等。
    {
    “registry-mirrors”: [“http://hub-mirror.c.163.com”]
    }
  5. 完成后按ESC退出到命令模式,按键切换至末行模式,输入:wq保存退出。
  6. 使用命令systemctl restart docker.service重启Docker。
  7. 使用命令docker info查看docker配置信息,可以看到已经配置好了镜像源。
    在这里插入图片描述

2 镜像相关操作

2.1 获取镜像列表

  1. 获取镜像列表,同时也可以对所获取镜像列表进行过滤,以方便查看信息。命令格式如下:
    docker search 镜像名
    docker search 镜像名 --filter stars=100
  2. 示例演示:此处以查询mysql镜像为例:docker search mysql。在这里插入图片描述

2.2 镜像下载

  1. 从官方仓库下载镜像到本地docker,命令格式如下:
    • docker pull [OPTIONS] NAME[:TAG]
    • OPTIONS说明:
    • -a :拉取所有 tagged 镜像
    • -disable-content-trust :忽略镜像的校验,默认开启
    • NAME是镜像仓库名称(用来区分镜像)。
    • TAG是镜像的标签(往往用来表示版本信息)。
    • 通常情况下,描述一个镜像需要包括“名称+标签”信息。如果不显式指定TAG,则默认会选择latest标签,这会下载仓库中最新版本的镜像。
  2. 严格地讲,镜像的仓库名称中还应该添加仓库地址(即registry,注册服务器)作为前缀,只是默认使用的是官方Docker Hub服务,所以该前缀可以忽略。
    例如从网易蜂巢的镜像源来下载ubuntu:18.04镜像,可以使用如下命令。
    • hub.c.163.com/public/ubuntu:18.04 #下载的镜像名称
    • docker pull hub.c.163.com/public/ubuntu:18.04 #拉取语句为
  3. 本教程以从官网获取mysql为例,输入命令:docker pull mysql。该命令未指定tag则默认为latest,箭头所指为上述列表中的第一个。
    在这里插入图片描述

2.3 查看本地的镜像

  1. 使用命令docker image ls列出本地镜像列表信息。可以看到刚刚下载的镜像文件及主要信息,如tag、文件大小等。
    在这里插入图片描述
  2. 更多“docker image +参数”的使用方式可以输入命令docker image -help获取详细帮助。

2.4 从镜像创建容器

  1. 使用命令以下载好的镜像为模板创建容器。命令格式如下:
    docker run [OPTIONS] IMAGE [COMMAND] [ARG…],其中IMAGE为镜像名,主要参数解释如下,详细参数可以查看《菜鸟教程》的相关解释。
    • -i: 以交互模式运行容器,通常与 -t 同时使用;
    • -t::为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
    • –name=“MySQL”: 为容器指定一个名称;
  2. 本节内容以上述mysql为例,使用命令创建容器:docker run -i -t docker.io/mysql /bin/bash,如下图箭头所指即为新创建的容器。
    在这里插入图片描述
  3. 查看运行中的容器。在上一步的基础上,新打开一个终端窗口,输入命令:docker ps,查看电脑中运行的容器列表及主要信息。如果在命令后加上参数-a,则可以查看运行与暂停的所有容器列表。
    在这里插入图片描述
  4. 在容器运行窗口,输入命令exit退出容器,同时在另一窗口再次使用docker ps查看容器列表信息。可以看到容器运行窗口命令行头部信息回到了主机,同时可以看到已经没有在运行的容器了。
    在这里插入图片描述

2.5 将容器抽象为镜像——commit

  1. 当我们对从网上下载的镜像进行修改后,为方便以后重复使用,可以将该容器创建为新的镜像文件。使用命令格式如下:
  2. docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    1. -a:提交的镜像作者;
    2. -c:使用Dockerfile指令来创建镜像;
    3. -m:提交时的说明文字;
    4. -p:在commit时,将容器暂停。
    5. [REPOSITORY[:TAG]]:是仓库名和tag信息。
  3. 例子:将上述运行中的容器提炼创建为镜像,可以根据命令行头部的信息或者查询运行容器信息,来得知容器的ID为403d957784e3。使用命令docker commit -m 'my mysql test' -a 'Fighting_hawk' 403d957784e3 my/registry:V2创建镜像,并指定仓库名和版本信息。
    在这里插入图片描述
  4. 查询本地镜像列表,可以看到新建的镜像就在其中。在这里插入图片描述

2.6 将容器抽象为镜像——Dockerfile

该方法比commit方法要复杂得多,但是有利于团队之间共享。以后有时间再学~~

2.7 将镜像保存为压缩包

为方便将镜像文件发送该他人进行安装,需要将镜像存为压缩包的格式,使用命令格式如下:docker save -o 压缩包名+后缀 镜像仓库名及版本号

2.8 将压缩包加载为镜像

使用命令将压缩包加载为镜像:docker load --input 压缩包名+后缀

2.9 镜像删除

当本地镜像列表中有的镜像已不再需要时,需要通过命令将其删除,如:docker fmi -f 镜像ID

3 总结

  1. 了解镜像源的设置;
  2. 掌握镜像查询与下载的方法;
  3. 理解镜像与容器之间的关系、掌握镜像与容器互转的方法;
  4. 掌握镜像与压缩包互转的方法。

4 参考文献

  1. 《查看与修改docker镜像源命令 cat | vim /etc/docker/daemon.json》
  2. 《使用pull命令从Docker Hub仓库中下载镜像到本地》
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【环境搭建】Docker镜像相关操作(切换镜像源、查询、获取、查看、创建、上传、保存、删除等) 的相关文章

  • ST Nucleo mbed套件开发 一 MBED环境使用 以Nucleo-F401为例

    全球领先的半导体供应商 全球领先的ARM Cortex M微控制器厂商意法半导体 xff08 STMicroelectronics xff0c 简称ST xff09 进一步强化STM32系列微控制器的易用性和设计灵活性 xff0c 推出适用
  • 记一次失败的面试经历

    背景 xff1a 面试者 xff1a 王某 xff08 以下简称我 xff09 嵌入式行业刚入门 10年工作经历 从事方向为 xff1a GPS BD导航 xff0c 物联网 xff0c 车联网方向 面试官 xff1a 前华为员工 3年工作
  • BC26接入电信平台操作手册 (五)

    二 模块端指令操作 一 获取模块的IMEI号 AT 43 CGSN 61 1 43 CGSN 866971030545227 OK 二 查询射频开关 AT 43 CFUN 43 CFUN 1 OK 三 查询信号质量 AT 43 CESQ 4
  • Cortex M3处理器工作模式及中断过程

    1 工作模式 线程模式 xff08 Thread mode xff09 xff1a 处理器复位或异常退出时为此模式 此模式下的代码可以是特权代码也可以是用户及代码 xff0c 通过CONTROL 0 控制 处理模式 xff08 Handle
  • 命名管道和匿名管道

    我们知道进程间是可以通信的 可以达到数据传输 资源共享 事件通知 进程控制等目的 进程间通信主要包括管道 系统IPC xff0c 套接字等 管道分为三种 xff1a 普通管道 xff1a 一是单工 xff0c 只能单向传输 xff0c 二是
  • markdown文件转RST文件

    markdown 文件转RST文件时遇到的一些问题 最近需要把一些markdown文件转成RST文件 xff0c 第一次接触RST文件 xff0c 使用中会有一些语法问题需要注意 在这里做个记录 转化工具 我们可以先采用工具对整体做个初步的
  • 思岚A1 上手教程

    前言 寒假在家闲着也是闲着 xff0c 索性就向是实验室借了一个思岚 A1激光雷达 xff0c 来进一步完成自己的实验室实习项目 经过一个月在Linux上和ROS上的摸爬滚打 xff0c 我已经对机器人开发和SLAM有了初步了解 xff0c
  • Qt和MFC的效率对比

    Qt和MFC的效率对比 之前一直做mfc xff0c 昨天看了一晚上的Qt xff0c 瞬间就喜欢上它了 xff0c Qt在windows下应该没有mfc的运行效率高 xff0c 但是我想知道差多少 xff0c 不知有没有大牛做过这方面的对
  • C++常见基本笔试/面试题总结

    1 c 43 43 与c的关系 1 c 43 43 是c的增强版 xff0c 是几乎完全兼容c的 2 c 43 43 在c的基础上增加了很多新的内容 3 编程思想发生了转变 xff0c c更多的是面向过程 xff0c c 43 43 是面向
  • 【第十七届智能车】程序编写过程中的一些小技巧

    目前博主还在总结并完善智能车的博客 xff0c 这篇文章也会随时间更新 这里的小技巧其实并不是什么很高级的算法和技巧 xff0c 全是博主在编写智能车程序的过程中总结归纳的一些经验 xff08 可能仅仅只是对我而言的技巧吧 xff0c 实在
  • SBUS如何连接4G,如何通过数传DTU传输,实现远程控制

    前段时间很多人咨询我怎样把sbus信号 xff0c 通过4G模块 xff0c 或者数传DTU传输 xff0c 实现远程的控制 他们的应用是远程消费机器人 xff0c 无人机送货 xff0c 水下机器人等项目 回答这个问题前我们先来了解一下s
  • 云卓遥控器+DIY高清摄像机的方案(完美接入原系统)

    一个朋友接了一个单子 xff0c 让我给他整合一个方案 xff0c 飞机用的是植保飞机 xff0c 把客户自己找的摄像机 xff0c 放在云台上 xff0c 能实现遥控器可以自由控制 客户原来已经买了整套飞机 拍照部分主要是下面那样的 包含
  • DIY高清云台(吊舱)方案

    这些天评论好些学友都问我关于组装一套高清的云台方案 xff0c 趁这几天有空 xff0c 思考了一下方案 xff0c 仅供大家参考 近两年随着短视频红火 各种各样的题材是百家争鸣 xff0c 你题材不新 xff0c 就没人看 xff0c 没
  • DIY一套10倍\20倍\30倍光学变焦高清航拍方案(变焦云台相机方案)

    之前写了一篇关于如果diy自己的高清云台方案https blog csdn net fgh00000 article details 121940451 很多人私信我说需要更高级的应用 功能需要再强大一点 上篇文章只是把摄像机放到了云台上
  • 超低成本的2.4G超远距离无线遥控、无线传输方案随笔

    超低成本的2 4G超远距离无线遥控 无线传输方案随笔 在2 4G的领域里面 大家比较熟悉的就是蓝牙和wifi 物联网用的比较多的就是zigbee 而在专业的领域用的比较多的就是nrf2401 xff0c cc2500等低成本芯片 就距离而言
  • 首个单芯片超小封装I2C转PWM解决方案

    ZW10I8X系列 高性能工业级16位高精度I2C转PWM接口SOC芯片 接口标准 符合飞利浦的I2C标准规范 xff0c 目前支持的速度为小于100kbit 建议使用50k 1个使能脚 xff08 ZW10I8xE后缀带E的 xff09
  • 选一个适合自己的加密芯片,加密IC,如何才能真正的做到不被破解。

    做嵌入式产品 xff0c 最头痛的事情就是害怕自己的代码给别人读出来 xff0c 不需要通过自己 xff0c 人家直接拿去生产了 所以要保护自己的最好方式就是使用硬加密IC的方式 当然有句话说的好 这世上没有破解不了的加密算法 每一个加密芯
  • docker(四):docker指定port运行、commit、数据卷(初解)、DockerFile

    继 xff1a https blog csdn net ak739105231 article details 105835836 一 docker指定port运行tomcat容器 docker run 的参数说明 xff1a 点击 p 指
  • SBUS协议转换芯片,SBUS转UART,sbus转rs232,sbus解码IC,zr003

    sbus 协议比较复杂 16通道一共用了22字节 每个通道占11bit 所以会存在拼字节错位的问题 需要转化成一个整形的数据 这对一般的主控还是有压力 xff0c 开销不少 今天跟大家分享一个专用的sbus解码芯片 sbus解码IC xff
  • STM8S001J3M3小身材大作用,STM又一佳作

    因研发需要找一个小封装的IC做产品 xff0c 一直都用开了STM的芯片 感觉质量比较稳定 听说st出来几款SOP8封装的芯片 于是第一时间找到了功能最全的开发套件 xff0c 对上手还是非常有帮助的 因为是新品 所以相关的开发板和资料还是

随机推荐

  • SBUS如何接到数传模块上,给sbus增程呢。

    SBUS总线是一种futuba先发明的遥控通讯协议 虽然说属于类uart的数字信号 但是它不能直接给电脑单片机读取 xff0c 因为它的逻辑电平是不一样的 另外就是它的数据传输波特率是100k xff0c 1个开始位 xff0c 2个停止位
  • 如果降低sbus总线的传输速率/帧率,sbus怎样转UART,sbus接到4G

    做无人机最重要的一个环节就是控制指令和数传 控制指令比较成熟的方法是sbus输出 xff0c 但是sbus又不是标准的数据信号 xff0c 波特率不标准 xff0c 逻辑电平也不标准 xff0c 而且每帧的间隔是4ms 15ms之间 而普通
  • shell脚本中/bin/bash的作用,引号与括号的使用

    shell脚本通常第一句是 bin bash 在很多情况中 xff0c 如果没有设置好这一行 xff0c 那么该程序很可能无法执行 xff0c 因为系统无法判断该程序需要使用什么shell来执行 通俗点讲 xff0c bin bash 是指
  • 解决STM32虚拟U盘枚举过慢的问题

    1 最近在一个项目中使用STM32虚拟U盘功能 xff0c 外接SPI flash 连接到电脑上面后虚拟出一个U盘出来 xff0c 软件使用RT thread的usb device mass storte大容量存储设备 代码移植很简单 xf
  • vscode 使用makefile 在线调试运行C/C++程序的方法

    1 前言 上一篇文章vscode在线调试C C 43 43 程序的方法中介绍了调试程序的方法 xff0c 由于文章中使用的编译程序规则是调用task json中来实现的 xff0c 不适用于一般的程序 目前大多数程序都是来使用makefil
  • 我的2013年终总结

    2013年6月毕业 xff0c 2012年九月开始实习 xff0c 一直在做和android相关的开发 工作有的涉及硬件 xff0c 有的是专门为公司定制的app 2013年的遗憾就是 xff0c 这一年里自己没有一款上线的app 听相关的
  • 用Android手机spydroid-ipcamera搭载局域网监控环境

    相比有很多人都想用手机实现视频监控吧 xff0c 今天这个教程 xff0c 将会教大家用spydroid ipcamera搭建局域网监控环境 准备工作 xff1a 1 准备一部带有摄像头的 xff0c API level在9以上的手机 xf
  • 3D数学--学习笔记(三):3D中绕任意轴的旋转

    本文转自 xff1a http blog csdn net zjc game coder article details 24269757 不要小看我们在Unity或者3DMAX中的一个简单的旋转物体操作 题记 这里需要用到的知识 xff1
  • Android拼图游戏开发全纪录0

    本文转自 xff1a http blog csdn net eclipsexys article details 18881849 最近刚完成一个Android的小项目 拼图游戏 项目并不复杂 xff0c 但也是一个完整的项目 xff0c
  • Android拼图游戏开发全纪录1

    本文转自 xff1a http blog csdn net eclipsexys article details 18887567 今天我们继续来讲解Android拼图游戏全纪录的第二篇 xff0c 今天要完成的任务比较简单 xff1a 界
  • Android 4.2 SafeVolume机制

    最近一个项目过认证 xff0c 在声压测试时failed 整改方案为 xff1a 在用户将耳机音量提高至安全音量以上时 xff0c 阻止此操作并弹出警告框 xff0c 待用户确认后才提升音量 一开始并不知道android4 2中默认自带了这
  • 命令行查看android手机wi-fi密码

    两招帮你查看wifi密码 xff08 抱歉 xff1a 由于无法传第三张图片 xff0c 第三个图片内容请参照参考网址获得 xff09 第一 xff0c 手机必须root 第二 xff0c 用es文件浏览器或RE管理器进入date misc
  • android网络时间同步总结

    本文转自 xff1a http www cnblogs com hoji real archive 2011 11 14 2247984 html 最近看了下网络时间同步 xff0c 总结一下 整体描述 xff1a android网络时间同
  • win7删除ubuntu系统

    win7 43 ubuntu双系统 xff0c ubuntu开机的时候 xff0c 电脑会响 xff0c ubuntu系统进不去 进入win7系统后 xff0c F盘是通过磁盘管理压缩剩余空间安装ubuntu系统的 xff0c QQ安装在F
  • 手机电池和taskId的寻找

    刷机的时候启动手机时间比较久 xff0c 拔掉电池给手机断电 xff0c 启动的比较快一点 一直这样干 xff0c 一段时间以后 xff0c 手机充电的时候 xff0c 会显示bad battery 提示电池坏掉 电池坏掉后 xff0c 刷
  • 如何使用Proteus进行电路设计仿真?

    Proteus是一款功能非常强大的软件 xff0c 是英国著名的EDA工具 仿真软件 xff0c 从原理图布图 代码调试到单片机与外围电路协同仿真 xff0c 一键切换到PCB设计 xff0c 真正实现了从概念到产品的完整设计 支持和Kei
  • OKHttpUtils使用介绍

    一 xff0c 概述 在上一篇blog的末尾讲到了OKHttp使用时的缺点 xff0c 和对OKHttp封装的必要性 在github上有很多对OKHttp封装的优秀框架 xff0c 其首推的就是hongyang大神的OKHttpUtils
  • Ubuntu18.04LTS系统盘制作

    记录一下制作系统盘的过程 xff0c 参考资料如下网址 xff0c 谢谢 win10下安装Ubuntu16 04双系统 xff0c 用软碟通制作系统盘 gt 点击此处网址 xff1b 安装win7 Ubuntu16 04双系统 xff0c
  • vmware12-15中ubuntu15.10-18.10的vmwaretools失效,不能拖动复制粘贴以及自动适应窗口分辨率

    新安装或异常关机或重新划分分区导致的vmware tools失效 xff0c 不能拖动复制粘贴文件文本以及自动适应窗口分辨率 xff0c 无论怎样重装vmware tools或open vm tools均无效 最后发现有效的方法如下 xff
  • 【环境搭建】Docker镜像相关操作(切换镜像源、查询、获取、查看、创建、上传、保存、删除等)

    目录 1 镜像源查看及设置2 镜像相关操作2 1 获取镜像列表2 2 镜像下载2 3 查看本地的镜像2 4 从镜像创建容器2 5 将容器抽象为镜像 commit2 6 将容器抽象为镜像 Dockerfile2 7 将镜像保存为压缩包2 8