首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sed:无法重命名/etc/主机:设备或资源繁忙

sed:无法重命名/etc/主机:设备或资源繁忙
EN

Stack Overflow用户
提问于 2022-07-07 10:54:38
回答 2查看 1.2K关注 0票数 -1

我试图在docker容器中设置dev环境时运行以下命令&获取上述错误。

代码语言:javascript
复制
./install && source $([ $SHELL = "/bin/zsh" ] && echo ~/.zshrc || echo ~/.bashrc);

环境:

(81317)

  • Ubuntu: 20.04.4 LTS

  • OS: Windows 11家庭

EN

回答 2

Stack Overflow用户

发布于 2022-07-07 10:57:19

你错过了sudo

sudo ./install && source $([ $SHELL = "/bin/zsh" ] && echo ~/.zshrc || echo ~/.bashrc);

票数 0
EN

Stack Overflow用户

发布于 2022-09-19 21:58:30

您不能操作主机文件,因为它是由docker守护进程管理的。为了防止在docker中操作linux系统文件时出现访问问题/错误,可以在安装脚本中为sed命令添加"copy“参数,如:

代码语言:javascript
复制
sed -i -c ...

但是,当您运行容器时,您将看到未更改的原始文件。您可以考虑在Dockerfile的入口点CMD命令部分中应用这些技巧。

还有其他解决方案,但仅在坞构建过程中才有效:

  1. --add-host

Docker二进制程序有一个选项“--add”:https://docs.docker.com/engine/reference/commandline/build/#add-entries-to-container-hosts-file---add-host

  1. extraHosts

如果您正在使用AWS,则直接对应的特性"extraHosts":https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html

如果需要在容器运行时持久化的修改,则只能选择修改入口点或CMD:https://stackoverflow.com/a/40430182/1980180

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72896553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档