## 用Docker搭靶機可能需要修改容器內文件配置,總結一下
方法一:進入容器修改
步驟一:
docker run -itd -p 80:80 --name=mynginx nginx:latest //使用命令創建容器
步驟二:
docker exec -it 88fae5be9f5b bash //使用命令進入容器,直接和宿主機一樣,使用vi命令編輯文件
注:如果vi命令沒有,可以使用yum -y install vim或者apt-get install vim命令安裝。
方法二:宿主機上修改
步驟一: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數據,進入容器內部檢查,容器內數據也會發生變化
方法三: 修改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