Docker使用 | 修改Docker容器内文件

## 用Docker搭靶机可能需要修改容器内文件配置,总结一下

方法一:进入容器修改

步骤一:

docker run -itd -p 80:80 --name=mynginx nginx:latest  //使用命令创建容器

如何修改docker容器内文件

步骤二:

docker exec -it 88fae5be9f5b bash  //使用命令进入容器,直接和宿主机一样,使用vi命令编辑文件

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

如何修改docker容器内文件

方法二:宿主机上修改

步骤一: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/目录下

如何修改docker容器内文件

步骤二:当我们修改容器内的nginx.conf配置文件时,直接修改宿主机/etc/nginx/nginx.conf配置即可,如图,我们在宿主机插入hello数据,进入容器内部检查,容器内数据也会发生变化

如何修改docker容器内文件

方法三: 修改dockerfile

docker镜像没有vim,下载也比较麻烦,可以使用

docker cp docker镜像名:想要修改的文件的路径 想要复制到的路径

将镜像中的文件复制到镜像外部,然后使用系统的vim修改,修改后再把文件复制回去。

docker cp zookeeper-server:/etc ~/tmp

注意:修改完cp回镜像的时候可能会失败,原因可能是该文件正在被使用

可以先把该docker镜像服务停止,再把文件cp回去,重启docker镜像的服务后新的文件就发挥作用了~

参考

https://blog.csdn.net/qq_40741855/article/details/106495679?spm=1001.2014.3001.5501

https://blog.csdn.net/weixin_42867492/article/details/107870650

原文地址:https://www.cnblogs.com/-saber/p/14667070.html