【云原生】Docker 实践(二):什么是 Docker 的镜像

news2024/12/23 10:08:37

【Docker 实践】系列共包含以下几篇文章:

  • Docker 实践(一):在 Docker 中部署第一个应用
  • Docker 实践(二):什么是 Docker 的镜像
  • Docker 实践(三):使用 Dockerfile 文件构建镜像
  • Docker 实践(四):使用 Dockerfile 文件的综合案例
  • Docker 实践(五):搭建私有镜像 Harbor

😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀🚀 吧 (点赞 🧡、关注 💛、收藏 💚)!!!您的支持 💖💖💖 将激励 🔥 博主输出更多优质内容!!!

Docker 实践(二):什么是 Docker 的镜像

  • 1.使用 Docker 默认的镜像存储路径
  • 2.自定义 Docker 的镜像存储路径

Docker 的镜像是一个模板,或者说其是一个只读文件。在该模板中包含应用和应用运行时所需要的依赖环境。Docker 的镜像采用的是分层的文件系统,每一次对镜像的修改将以 读写层 的形式增加到原来的只读文件的模板上。

Docker 默认的镜像存储路径是 /var/lib/docker,也可以是自定义其他路径。

1.使用 Docker 默认的镜像存储路径

docker info | grep "Docker Root Dir"

在这里插入图片描述

以上篇博客中拉取的 Nginx 镜像为例:

在这里插入图片描述

切换到 /var/lib/docker 目录下:

cd /var/lib/docker
find . -name 7383c266ef25*

在这里插入图片描述

2.自定义 Docker 的镜像存储路径

创建新的镜像存储路径 /data/docker,该路径用于保存 Docker 的镜像文件。

mkdir -p /data/docker

在这里插入图片描述
创建 Docker 守护进程的配置文件。

cd /etc/docker/
vi daemon.json

daemon.json 文件中输入以下内容。

{
    "graph": "/data/docker"
}

在这里插入图片描述

重新加载 Docker 的服务,并重启 Docker。

systemctl daemon-reload
systemctl restart docker

在这里插入图片描述
重启 Docker 发现报错了,改一下后缀名。

mv daemon.json daemon.conf

参考:《docker启动报错:Job for docker. service failed because the control process exited with error code》

再次尝试,并重新查看 Docker 的镜像存储路径,发现路径并没有变化!!!

在这里插入图片描述

显然不是后缀名导致的,并且改了后缀名,还导致了该文件可能没被加载!!!

通过查看日志发现报了一个错:

journalctl -u docker.service

在这里插入图片描述
搜了一下,原来是 Docker 高版本中弃用了该参数。参考:dockerd does not start debian
在这里插入图片描述
所以需要改一下配置:

{
    "data-root": "/data/docker"
}

再次查看 Docker 的镜像存储路径,发现路径变成了 /data/docker
在这里插入图片描述

那么原来的镜像数据也没有了(留在了原来的文件夹下)。

在这里插入图片描述

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

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

相关文章

在M1芯片安装鸿蒙闪退解决方法

在M1芯片安装鸿蒙闪退解决方法 前言下载鸿蒙系统安装完成后,在M1 Macos14上打开闪退解决办法接下来就是按照提示一步一步安装。 前言 重新安装macos系统后,再次下载鸿蒙开发软件,竟然发现打不开。 下载鸿蒙系统 下载地址:http…

eNSP-抓包解析HTTP、FTP、DNS协议

一、环境搭建 1.http服务器搭建 2.FTP服务器搭建 3.DNS服务器搭建 二、抓包 三、http协议 1.HTTP协议,建立在FTP协议之上 2.http请求 3.http响应 请求响应报文参考:https://it-chengzi.blog.csdn.net/article/details/113809803 4.浏览器开发者工具抓包…

堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41),framework修改,去除第三方app的倒计时页面

文章目录 堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41),framework修改,去除第三方app的倒计时页面1.打印异常堆栈2.去除第三方app的倒计时页面3.模拟点击事件跳过首页进入主页 堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41)&#x…

SpringCloud微服务项目创建流程

为了模拟微服务场景,学习中为了方便,先创建一个父工程,后续的工程都以这个工程为准,实用maven聚合和继承,统一管理子工程的版本和配置。 后续使用中只需要只有配置和版本需要自己规定之外没有其它区别。 微服务中分为…

MLP实现fashion_mnist数据集分类(2)-函数式API构建模型(tensorflow)

使用函数式API构建模型,使得模型可以处理多输入多输出。 1、查看tensorflow版本 import tensorflow as tfprint(Tensorflow Version:{}.format(tf.__version__)) print(tf.config.list_physical_devices())2、fashion_mnist数据集分类模型 2.1 使用Sequential构建…

4 Spring AOP

目录 AOP 简介 传统开发模式 先来看一个需求 解决方案 AOP 图示 Spring 启用 AspectJ 基于 xml 配置 创建 pom.xml 创建 UserService 借口和 UserServiceImpl实现类 创建 LogAdvice 日志通知 创建 log4j.properties 重点:创建 spring-context-xml.xml 配…

MyBatis:mybatis基础操作

MyBatis基础操作 新增 接口方法 Insert() insert();删除 接口方法 Delete() delete();Delete("delete from emp where id #{id}") public abstract void delete(Integer id) //如果只传了一个形参,括号内可以随意写修改 接口方法 Update() update();查询 接…

Jupyter Notebook魔术命令

Jupyter Notebook是一个基于网页的交互式笔记本,支持运行多种编程语言。 Jupyter Notebook 的本质式一个Web应用程序,便于创建和共享文学化程序文档,支持实现代码,数学方程,可视化和markdown。用途包括:数据…

MATLAB中自定义栅格数据地理坐标R,利用geotifwrite写入tif

场景描述: 有时候将nc格式的数据转成tiff,或者是将一个矩阵输出成带有地理坐标信息tiff数据时,常常涉及到空间参考的定义和geotiffwrite()函数。 问题描述: 以全球数据为例,今天发现在matlab中对矩阵进行显示后&…

【大模型学习】大模型相关概念

知识库 Embeding 嵌入,又称向量化、矢量化。 Prompt engineer 提示词工程 提示工程技巧 RAG 检索增强生成,提高文本的准确性和丰富性。 Fine tuning 微调,优化已有人工智能模型以适应特定任务的技术。 AI agent AI代理人&…

华为机考入门python3--(19)牛客19- 简单错误记录

分类:字符串 知识点: 分割字符串 my_str.split(\\) 字符串只保留最后16位字符 my_str[-16:] 列表可以作为队列、栈 添加元素到第一个位置 my_list.insert(0, elem) 增加元素到最后一个位置 my_list.append(elem) 删除第一个 my_list.pop(0)…

Python中的数据可视化:阶梯图matplotlib.pyplot.step()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 Python中的数据可视化: 阶梯图 matplotlib.pyplot.step() [太阳]选择题 matplotlib.pyplot.step()的功能是? import matplotlib.pyplot as plt import numpy as…

基于Springboot的旅游管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的旅游管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

[1702]java旅游资源网上填报系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java旅游资源网上填报系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql…

机器视觉系统-条形光源安装位置计算

使用条形光对反光材质物体打光时,常常出现强烈的光斑反射,影响图像处理。如果不想图像中出现光源的光斑,可以通过计 算得出条形光源的安装范围。 检则PCB板上的二维码字符,使用两个条形光打光的效果图 以及等效模型: …

CSS 鼠标经过放大元素 不影响其他元素

效果 .item:hover{transform: scale(1.1); /* 鼠标悬停时将元素放大 1.1 倍 */ }.item{transition: transform 0.3s ease; /* 添加过渡效果,使过渡更加平滑 */ }

esp32-cam 2. python opencv 拉取摄像头内容

0. 环境 - win10 python3 - pycharm - esp32-cam http://192.168.4.1 1. 创建工程 File -> Create Project -> -> Location: E:\Workspaces\PycharmProjects\esp32cam_opencv -> Create 2. opencv hello 2.1 添加脚本 File -> New -> Python f…

39 死锁

目录 1.死锁 2.线程同步 3.条件变量 4.案例 死锁 概念 死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所占用不会释放的资源而处于的一种永久等待状态 四个必要条件 互斥条件:一个资源每次只能被一个执行流使用 请求…

✔ ★Java大项目——用Java模拟RabbitMQ实现一个消息队列(二)【创建核心类、封装数据库操作】

✔ ★Java大项目——用Java模拟RabbitMQ实现一个消息队列 四. 项⽬创建五. 创建核⼼类 ★创建 Exchange(名字、类型、持久化、自动删除、参数)创建 MSGQueue(名字、持久化、独占标识)创建 Binding(交换机名字、队列名字…

如何使用 Node.js 开发一个文件上传功能?

在 Node.js 中实现文件上传功能可以通过多种方式完成,但其中最常用的方法之一是使用 Express 框架和 Multer 中间件。Express 是一个流行的 Node.js Web 框架,而 Multer 是一个用于处理文件上传的中间件。 步骤 1: 准备工作 首先,确保你已经…