最近在使用`docker`的过程中发现一个问题
就是想用vim编辑器编辑一个文件,发现连`vi`都没有
于是想到一个办法用`docker cp`来解决问题
首先执行`docker ps -a`查看容器的id
然后再执行复制命令
将容器c77b9da2d02d的/etc/hosts文件拷贝到主机的/tmp目录中
>docker cp c77b9da2d02d:/etc/hosts /tmp
将主机/tmp/hosts文件拷贝到容器c77b9da2d02d的/etc目录下
>docker cp /tmp/hosts c77b9da2d02d:/etc/
然后还是碰到问题`Device or resource busy`
这么说无解了
这个时候我想到了echo命令来操作文件
进入容器
>docker exec -it 96f7f14e99ab /bin/bash`
再执行以下命令
>echo "127.0.0.1 test.www.com" >> /etc/hosts
即可向/etc/hosts文件添加内容
然后又碰到新的问题,如何删除一行
>删除文档的第一行 sed -i '1d' /etc/hosts
删除文档的最后一行 sed -i '$d' /etc/hosts
如果还是报错
看来只能执行终极命令了
>echo "$(sed 's/127.0.0.1 test.www.com//g' /etc/hosts)" > /etc/hosts