docker在基础镜像上,比如rockylinux,如何配置yum仓库

news/2024/9/22 15:36:42 标签: docker, 容器, 运维

在基础镜像rockylinux上

启动的容器,没有yum仓库,就执行不了一些命令

~]docker run  -itd  --name  linux  rockylinux:8.5

~]# docker exec  -it  linux   bash
/]# ifconfig
bash: ifconfig: command not found
 /]# vim
bash: vim: command not found
/]# ip a s
bash: ip: command not found

这样的容器,几乎做不了什么。

那么如何给这个容器配置yum仓库呢

重点是用docker  cp命令

#  在宿主机上操作
~]# docker exec  -it  linux  rm  -rf  /etc/yum.repos.d     # 删除容器内yum仓库目录
~]# docker cp  /etc/yum.repos.d  linux:/etc/    # 将宿主机的yum仓库目录拷贝到容器内
~]# docker exec  -it  linux  yum  -y  install  net-tools  vim-enhanced  tree  bash-completion  iproute  procps-ng psmisc   # 可以装包

docker  cp 命令除了给容器做yum仓库

还主要用来抢救容器内的数据

因为docker cp命令可以在容器没有启动的时候完成拷贝

先将容器内的文件拷贝到宿主机。

等等容器重建之后,再将文件拷贝至新的容器

容器内的路径,必须用绝对路径。

宿主机的路径,可以用相对路径。

-----------------------------------------------------------------------------------------

docker 镜像是 docker 容器化技术的核心组件之一,

是只读模板,

主要用来创建容器

镜像中包含了运行应用程序所需的一切,

包括操作系统环境、应用程序代码、依赖库和其他配置文件

------------------------------------------------------------------------------------------

Docker 镜像的特性
只读:一旦创建,Docker 镜像就是一个静态的只读实体。这意味着镜像的内容在创建之后不会被修改,任何对镜像的修改都会生成一个新的镜像层。

分层结构:Docker 镜像是由多个层组成的。每一层代表一次变更操作,比如安装一个软件包或复制文件。这种分层结构使得多个镜像可以共享相同的层,从而节省存储空间。

按内容寻址:每个镜像层都有一个唯一的标识符(通常是一个 SHA-256 哈希值),这个标识符是由层的内容决定的。因此,相同的层在不同的镜像中可以共享,减少了冗余。

轻量级:Docker 镜像设计得非常轻量级。例如,Alpine Linux 镜像大小只有约 4MB,而 Ubuntu 镜像大约有 110MB。这些镜像都是经过裁剪的,去除了不必要的内容。


http://www.niftyadmin.cn/n/5670502.html

相关文章

MySQL深入原理

MySQL深入原理 索引、事务、日志原理、InnoDB引擎、缓存、锁 有4个数据库是属于MySQL自带的系统数据库: ​ mysql MySQL 系统自带的核心数据库,它存储了MySQL的用户账户和权限信息,一些存储过程、事件的定义信息,一些运行过程中…

Python学习——【4.1】数据容器:list列表

文章目录 【4.1】数据容器:list列表一、数据容器入门二、数据容器:list 列表(一)列表的定义(二)列表的下标索引(三)列表的常用操作(1)列表的查询功能&#xf…

mysql数据库--索引

索引 1.索引 在数据中索引最核心的作用就是:加速查找 1.1 索引原理 索引的底层是基于BTree的数据存储结构 如图所示: 很明显,如果有了索引结构的查询效率比表中逐行查询的速度要快很多且数据越大越明显。 数据库的索引是基于上述BTree的…

OpenAI GPT o1技术报告阅读(5)-安全性对齐以及思维链等的综合评估与思考

✨继续阅读报告:使用大模型来学习推理(Reason) 原文链接:https://openai.com/index/learning-to-reason-with-llms/ 编码 我们训练了一个模型,在2024年国际信息学奥林匹克竞赛(IOI)中得分213分,排名在第…

C语言 | Leetcode C语言题解之第415题字符串相加

题目: 题解: char* addStrings(char* num1, char* num2) {int i strlen(num1) - 1, j strlen(num2) - 1, add 0;char* ans (char*)malloc(sizeof(char) * (fmax(i, j) 3));int len 0;while (i > 0 || j > 0 || add ! 0) {int x i > 0 ?…

解释器模式:将语法规则与执行逻辑解耦

解释器模式(Interpreter Pattern)是一种行为设计模式,它提供了评估语言的语法或表达式的方式。该模式通过定义一个语言的文法表示,并通过解释这些表示来执行相应的操作。 解释器模式主要用于设计一种特定类型的计算机语言或表达式…

从零开始学习Linux(13)---多线程

目录 1.线程 1.线程的概念 2.线程的理解(Linux系统为例)---一般系统 3.进程vs线程 4.线程的控制 5.线程的等待 6.线程的终止 7.线程的分离 2.线程的互斥 1.互斥锁 2.条件变量 3.生产消费模型 4.阻塞队列 5.信号量 6.唤醒队列 1.线程 1.线…

openEuler系统安装内网穿透工具实现其他设备公网环境远程ssh连接

目录 前言 1. 本地SSH连接测试 2. openEuler安装Cpolar 3. 配置 SSH公网地址 4. 公网远程SSH连接 5. 固定连接SSH公网地址 6. SSH固定地址连接测试 作者简介: 懒大王敲代码,计算机专业应届生 今天给大家聊聊openEuler系统安装内网穿透工具实现其他…