解决容器启动后无法编辑文件的问题

解决容器启动后无法编辑文件的问题
Mr.蓝桉前段时间拉取了个MySQL的容器节点,但是拉起之后发现居然编辑不了MySQL的配置文件,这是我的启动命令
1 | docker run -itd -p 3310:3306 -e MYSQL_ROOT_PASSWORD=12345678 --name slave2 f5f171121fa3 bash |
下面总结下解决方法:
- 编辑docker file直接从根本上解决问题(还没试过)
- 安装需要命令的rpm包(不推荐,依赖特别多)
- 将需要编辑的文件在宿主机上编辑,然后再传到容器中(不推荐,特麻烦)
- 直接宿主机的挂载目录中编辑对应的容器文件(还行,比较容易)
- 我还有个想法,俗话所一切皆文件,直接将需要命令的相关文件从宿主机copy到容器中即可(还没试过)
当然上面的方法比较另辟迄今,当我们遇到没有一个命令时首先想到的应该是安装,但是有的小伙伴也可能又和我遇到了同样的问题,比如,一顿操作猛如虎….
首先启动一个容器后看下启动容器的os信息
1 | cat /etc/os-release |
可以看到这个MySQL是oracle封装的你使用其他os命令肯定不行,但是我们可能对oracle linux server的命令不是很熟悉,那么该怎么办呢,下面介绍一个比yum,dnf还要轻量级的软件包管理器—microdnf
microdnf是一个轻量级的包管理器,它是 DNF 的一个分支,专为使用在容器环境和嵌入式系统中而设计。由于容器和嵌入式系统通常有资源限制,包括有限的磁盘空间和内存,microdnf被优化以减少其内存占用和执行速度。以下是
microdnf的一些关键特点:
- 轻量化:
microdnf旨在减少内存和磁盘的使用,使其适合在资源受限的环境中运行。- 兼容性:它与 DNF 高度兼容,支持大部分 DNF 命令和功能,但去掉了一些在容器中不必要的功能。
- 简单性:
microdnf提供了一个简单的方法来安装、更新和删除软件包。- 依赖管理:尽管是轻量级,
microdnf仍然处理依赖关系,确保安装的软件包所依赖的包也得到安装。- 配置文件:
microdnf使用/etc/microdnf.conf或/etc/dnf/microdnf.conf作为其主要配置文件。- 仓库管理:它支持配置软件仓库(repositories),允许用户添加、移除或修改仓库的配置。
- 包管理操作:
microdnf支持基本的包管理操作,如安装、更新、查询和删除软件包。- 静默操作:它支持静默模式,可以在不提示用户输入的情况下自动执行操作。
- 安全性:
microdnf可以配置为自动更新安全相关的包,帮助维护容器的安全性。- 使用场景:它适用于容器化应用、嵌入式系统和任何需要轻量级包管理器的场景。
- 与 DNF 的区别:
microdnf没有 DNF 的所有特性,比如管理插件、复杂的仓库元数据处理等。命令示例:
_ - 安装包:microdnf install <package_name>
__- 更新包:microdnf update <package_name>
__- 查询包:microdnf info <package_name>
__- 删除包:microdnf remove <package_name>
_- 列出已安装包:microdnf list --installed
microdnf是一个实用的工具,尤其适用于需要轻量级包管理的场合。然而,它可能不适合那些需要 DNF 所有高级功能的环境。在使用microdnf时,您应该根据您的具体需求和环境来评估其适用性。
用microdnf安装vim
1 | microdnf -y install vim |
学识浅薄,疏漏难免,祈望高贤不吝赐教。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果








