docker报Device or resource busy

起因

服务器上有个服务部署在docker中,其中的推送消息需要连接一个部署在cf worker上的服务,但是众所周知,国外的服务在国内访问都不太友好,时不时的就连接超时,所以想要在hosts文件中插入一条映射,找个好一点的cf IP映射进去,但是docker中没有vim,apt安装连接的也是国外的服务,慢的要命,所以想着先cp到宿主机改完再cp回去,发现cp回去的时候报错[Device or resource busy],看来cp的路是行不通了

解决

后来想着没有vim命令,总有echo命令吧,那就直接这样就行了呗

1
echo "127.0.0.1 www.test.com" >> /etc/hosts

不错,挺好使,但是编辑是没法笔记的,只能删除后重新插入,所以删除命令如下

1
2
# 删除第一行
sed -i '1d' /etc/hosts
1
2
# 删除最后一行
sed -i '$d' /etc/hosts

如果还是报错的话,就还用echo 命令

1
echo "$(sed 's/127.0.0.1 www.test.com//g' /etc/hosts)" > /etc/hosts

好了。完美解决