【Docker】如何修改Docker中的文件

这篇具有很好参考价值的文章主要介绍了【Docker】如何修改Docker中的文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 如何修改Docker中的文件

可能你安装的Docker容器没有vi、vim这些编辑命令。当然没有你可以安装,但是每新建一个容器每一次编辑需求就安装一次太麻烦了,那么如何编辑Docker中的文件呢。常见的有3种方式:

  • echo命令方式

  • 使用 docker cp 来回复制文件方式

  • 挂载 主机 和 容器方式

每次方式各有优点,echo命令足够简单方便,docker cp方式用途更广,挂载方式便于持久化

方式1,echo命令方式

优点: 1、每个容器都有2、对比其它方式足够简单、足够方便

步骤:

  • 进入容器
docker exec -it lpg-promtail-1 /bin/bash
  • 用cat查看源内容
cat /etc/promtail/config.yml
  • 复制编辑新内容
  • echo新内容进行覆写
# 把编辑后的内容输出了...处开始覆写
echo '...' > /etc/promtail/config.yml

方式2,来回复制文件方式

  • 拷贝容器中的文件到主机上
# docker cp 源 目标
docker cp elasticsearch_8.7.1:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch.yml
  • 在主机上修改文件

  • 拷贝主机上的文件回容器覆盖容器原有文件

# 只要把docker cp 的源和目标反过来就行了
docker cp elasticsearch.yml elasticsearch_8.7.1:/usr/share/elasticsearch/config/elasticsearch.yml
  • 修改完文件如果需要重启容器记得重启容器

方式3,挂载方式

通过 -v 命令可以把主机中的文件挂载到容器中,在启动容器时指定,举例如下:

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root  \
-d mysql:5.7

以上就把主机的 /mydata/mysql/conf 文件夹挂载到容器 var/log/mysql 目录。

这种方法最大的优点是在删除容器后,该文件依然存在与主机中,下次启动新容器或许依然可以使用而不用重新配置一遍环境和恢复数据,这对需要持久化的容器特别友好,如mysql。Docker中MySQL的持久化、Docker如何持久化数据

2. 参考资料

我的文章:《如何查看一个Docker镜像有哪些版本.md》

我的文章:《Docker设置国内镜像源.md》

我的文章:《Docker快速入门实用教程.md》

我的文章:《Docker安装MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常见服务.md》

我的文章:《Docker安装Nacos服务.md》

我的文章:《如何修改Docker中的文件.md》

我的文章:《Docker容器间的连接或通信方式.md》

我的文章:《Docker安装的MySQL如何持久化数据库数据.md》

我的文章:《制作Docker私有仓库.md》

我的文章:《使用docker-maven-plugin插件构建发布推镜像到私有仓库.md》

我的文章:《解决Docker安装Elasticsearch后访问9200端口失败.md》


传送门:保姆式Spring5源码解析

欢迎与作者一起交流技术和工作生活

联系作者文章来源地址https://www.toymoban.com/news/detail-691328.html

到了这里,关于【Docker】如何修改Docker中的文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】【完整代码】秀!巧用Python实现对单个文件或多个文件中的指定字符串进行批量修改/替换(超详细)

    目录 1. 对单份文件 1.1 将替换后的内容保存到新文件中 1.2 直接替换当前文件中的字符

    2024年02月21日
    浏览(51)
  • 文件名替换,关键字替换改名:不同路径中的多个文件如何批量重命名

    在日常生活和工作中,我们经常需要处理大量的文件,包括重命名、分类、整理等操作。其中,批量重命名不同路径中的多个文件是一项非常常见的任务。本文将介绍云炫文件管理器常见的批量重命名方法:文件名替换改名,帮助您轻松应对不同路径中的多个文件的重

    2024年02月08日
    浏览(74)
  • Docker打包容器并跨服务器传输重建加载load镜像Unable to find image :latest问题解决 及 Docker在容器未启动的情况下如何修改容器中文件

        使用docker就是因为docker可以快速进行多服务器部署,所以需要对部署好的环境进行打包复制并快速在其它的服务器上进行重建。     其实使用起来非常简单,使用docker export从运行的容器中导出文件,,使用import命令生成镜像批量传至目标服务器然后在目标服务器上进行

    2024年04月17日
    浏览(49)
  • docker 挂载、修改文件

    前段时间咱们使用Docker安装了Nginx并且系统学习了Nginx的相关知识,其中有一节是修改Nginx的配置达到方向代理的效果。咱们使用的是docker的 copy 命令从容器中 copy 出来相关的配置文件,在本地修改,修改完毕在使用docker的 copy 命令从本地 copy 到容器中,重启容器生效的。咱们

    2024年02月05日
    浏览(61)
  • docker容器内修改配置文件

    1、进入容器内部 2、安装vim 1、替换配置文件 2、重启容器 时间报错参考

    2024年02月13日
    浏览(35)
  • 修改运行中的docker容器的端口映射(简单、高效)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 在docker run创建并运行容器的时候,可以通过-p指定端口映射规则。但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改。当docker start运行容器后并没有提供一个-p选项或设置,让你修改

    2024年02月08日
    浏览(36)
  • 使用WSL修改docker文件存储位置

    按照以下说明将其重新定位到其他驱动器/目录,并保留所有现有的Docker数据。 首先,右键单击 Docker Desktop 图标关闭Docker桌面,然后选择退出Docker桌面,然后,打开命令提示符: 您应该能够看到,确保两个状态都已停止。 将 docker-desktop-data 导出到文件中(备份image及相关文件

    2024年02月11日
    浏览(40)
  • 如何修改Docker镜像地址

    在使用docker pull镜像时候,往往出现如下错误: docker: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers). 原因就是发现是因为docker加速器超时导致pull不下来。 问题如下 解决方法 1、点击tabar栏中的docker图标,选择Preferences 2、选择Docker Engine项,在

    2024年02月13日
    浏览(40)
  • 如何修改docker数据存储路径

          本文介绍如何通过修改 Docker 配置文件的方式来修改 Docker 数据存储路径,以减少系统盘的占用空间。具体步骤如下: 1、停止 Docker 服务 2、备份当前的 Docker 数据存储目录 /var/lib/docker 3、创建新的 Docker 数据存储目录,例如 /data/docker 4、修改 Docker 配置文件       修改

    2024年02月16日
    浏览(43)
  • 修改Docker容器中的mysql时区的三种方式

    一、临时修改时区 // 查看linux时区 date -R // 查看mysql的时区 show variables like ‘%time_zone%’ // 查看当前时间 select now() // 设置全局 set global time_zone = ‘+8:00’ // 设置当前会话 set global time_zone = ‘+8:00’ // 立即生效 flush privileges 二.、 永久修改Docker容器中mysql的时区 我们通常在创建

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包