当前位置: 首页 > article >正文

Docker学习笔记(十二)docker镜像没有vi怎么优雅的编辑文本

镜像最小化原则‌:

  • 避免在生产镜像中安装非必要工具,优先选择 ‌宿主机挂载‌ 或 ‌Dockerfile 构建‌ 方案

1、直接通过 Shell 命令修改文件(无需编辑器)

# 进入容器
docker exec -it mysql-container bash

# 使用 echo 追加内容(示例:修改绑定地址),如果文件不存在,会直接创建对应文件
echo "我是测试内容1">>/wj/test.txt

# 重启服务(容器内执行)
service mysql restart

2、从宿主机复制文件到容器

# 1. 将容器内的配置文件复制到宿主机
docker cp mysql-container:/etc/mysql/my.cnf ./my.cnf

# 2. 在宿主机用本地编辑器(如vim)编辑文件
vim ./my.cnf

# 3. 将修改后的文件复制回容器
docker cp ./my.cnf mysql-container:/etc/mysql/my.cnf

# 4. 重启容器使配置生效
docker restart mysql-container

3、挂载宿主目录到容器(推荐长期方案)

# 1. 宿主机创建配置目录
mkdir -p ~/mysql-docker/conf

# 2. 首次运行容器时挂载配置文件目录
docker run -d \
  --name mysql-container \
  -v ~/mysql-docker/conf:/etc/mysql/conf.d \  # 挂载配置目录
  -e MYSQL_ROOT_PASSWORD=your_password \
  mysql:tag

# 3. 在宿主机直接编辑配置文件(自动同步到容器)
vim ~/mysql-docker/conf/custom.cnf

# 4. 重启容器或重载配置
docker exec mysql-container sh -c 'service mysql reload'

4、临时安装编辑器(仅限调试环境)

# 进入容器并安装 nano(轻量级编辑器)
docker exec -it mysql-container bash
apt-get update && apt-get install -y nano  # Debian/Ubuntu 镜像
# 或
yum install -y nano                        # CentOS 镜像

# 使用 nano 编辑文件
nano /path/to/file

5、通过 Dockerfile 构建自定义镜像(生产环境推荐)

FROM mysql:8.0
# 安装必要工具
RUN apt-get update && apt-get install -y nano
# 添加自定义配置文件
COPY custom.cnf /etc/mysql/conf.d/
#并运行
docker build -t my-mysql .
docker run -d --name my-mysql-container my-mysql


http://www.kler.cn/a/600339.html

相关文章:

  • 2025最新-智慧小区物业管理系统
  • torch.nn和torch.nn.function的区别
  • 探索Google Test(gtest):C++单元测试的强大工具
  • ES聚合学习(三)
  • 常见CMS漏洞(一):WordPress
  • 【中间件】Rabbit离线部署操作
  • 初识R语言饼状图
  • 使用 langchain_deepseek 实现自然语言转数据库查询SQL
  • PRC框架(以Dubbo为例),分布式事务解决方案
  • Debug-037-table列表勾选回显方案
  • 网络爬虫-4:jsonpath+实战
  • epoll:Linux 高性能 I/O 多路复用技术
  • 计算机工具基础(七)——Git
  • SpringBootAdmin-clinet自定义监控CPU、内存、磁盘等health
  • 【web3】
  • GB 18401《国家纺织产品基本安全技术规范》
  • unity动效扫光教程
  • 20250317-vue-Prop4
  • 常见中间件漏洞攻略-Tomcat篇
  • 【Android Studio开发】生命周期、Activity和组件通信(上)