问题描述
通常在官方的docker中, 为了使images尽量精简, 并不会携带任何的文本编辑器, 但我们又经常需要编辑docker中的配置文件, 下面以mysql的docker images为例, 探讨比较方便的方式.
方法一: 使用包管理器安装
找到对应发行版的包管理器
# 查看 docker 构建过程
docker history mysql
## 输出的最后一行内容
<missing> 7 weeks ago ADD oraclelinux-9-slim-amd64-rootfs.tar.xz /… 113MB buildkit.dockerfile.v0
可以看到在输出的最后一层使用的是oraclelinux-9, oraclelinux 使用的是 dnf 包管理器, 在容器中, 为了精简, 使用的是 microdnf
(轻量的dnf)
microdnf install 包名
安装需要的软件
方法二: 本机编辑拷贝到容器中
docker cp 本机文件路径 容器id:容器中的文件路径
方法三: 使用cat
cat << EOF >> 文件
多行内容
...
EOF
>>
是在文件最后追加, >
是创建新文件, 使用cat只能执行简单的追加, 无法修改已存在内容.