docker 编辑容器内文件

docker 编辑容器内文件

近期在学习docker
为编辑容器中文件,可以使用以下几种方法,特此记录

方法1:在容器中修改

使用vi命令编辑文件。
注:如果vi命令没有,可以使用yum -y install vim或者apt-get install vim命令安装。

方法2:在本地修改

借用docker 拷贝文件到容器的命令
docker cp [目标文件路径] 容器id或容器名:[目的路径]

修改容器中文件方法如下:
从容器中拷贝目标文件到本地路径
docker cp 容器id或容器名:[目标文件路径] [本地目的文件路径]
在本地使用vim工具进行编辑文件
修改完成拷贝到目标容器中

举例说明:

[root@localhost ~]# docker cp 82b2f691c7fc:/etc/mysql/mysql.conf.d/mysqld.cnf ./
[root@localhost ~]# vim mysqld.cnf 
[root@localhost ~]# docker cp ./mysqld.cnf  82b2f691c7fc:/etc/mysql/mysql.conf.d/
[root@localhost 5qkaA4]# docker stop mysql
mysql
[root@localhost 5qkaA4]# docker start mysql
mysql
[root@localhost 5qkaA4]# docker exec -it mysql /bin/bash
root@82b2f691c7fc:/# mysql -u root -p 
Enter password: 

mysql> use mysql;
Database changed
mysql> select @@sql_mode;
+------------------------------------------------------------------------------------------------------------------------+
| @@sql_mode                                                                                                             |
+------------------------------------------------------------------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> exit
Bye
root@82b2f691c7fc:/# exit

方法3:本地修改2

docker提供了数据持久化的方式,让docker内数据修改更加便利,容器创建的时候做好目录映射,直接修改宿主机文件,容器内的文件会相应变化。

docker run -itd -p 8080:80 -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf --name=webtest nginx:latest
命令创建容器,将宿主机nginx.conf文件映射到容器内部nginx服务/etc/nginx/目录下。

当我们修改容器内的nginx.conf配置文件时,直接修改宿主机/etc/nginx/nginx.conf配置即可,我们在宿主机插入hello数据,进入容器内部检查,容器内数据也会修改。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值