此问题仅在docker容器中发生。
仅find
是罚款:
find ${BASIN_SPIDER_CONFIG_PATH} -type f -name "*.json"
find
与sed
find ${BASIN_SPIDER_CONFIG_PATH} -type f -name "*.json"|xargs sed -i "s/10.142.55.199/host02/g"
给出一个错误:
/xxx/config/sed8Ey5tD: Device or resource busy
我不明白是什么sed8Ey5tD
,ls
看不到。我认为这是由docker造成的,但无法解决。
如何取得sed
成功?
好吧,我发现这个文件是由搬运工volumed,有 volumes: /xxx/config.json : /xxx/config/config.json
在docker-compose.yml
。之后docker-compose down
,可以编辑文件。但是,如何在没有文件的情况下编辑文件docker-compose down
?
@cuonglm我想知道如何使sed成功。
—
秘银
您确定您在容器内具有写权限吗?
—
user1700494
@ user1700494 root用户
—
Mithril
您可能会尝试强制
—
user1700494
sed
不制作任何备份文件xargs sed -i'' "s/10.142.55.199/host02/g"
(在-i
密钥后添加单引号)
sed
。在进行就地修改时,sed
将创建一个临时文件以防止损坏您的原始文件。如果一切正常,则将其替换为临时的。但是你有什么问题呢?您想知道导致该错误的原因或sed8Ey5tD
文件是什么?