加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

docker run sed不起作用

发布时间:2020-12-16 03:22:17 所属栏目:安全 来源:网络整理
导读:我正在接近Docker.我创建了Debootstraping Debian Jessie的映像,我想将contrib部分添加到APT源文件中. /etc/apt/sources.list的内容是: $docker run some/image cat /etc/apt/sources.listdeb http://debian.fastweb.it/debian jessie maindeb http://debia

我正在接近Docker.我创建了Debootstraping Debian Jessie的映像,我想将contrib部分添加到APT源文件中.

/etc/apt/sources.list的内容是:

$docker run some/image cat /etc/apt/sources.list
deb http://debian.fastweb.it/debian jessie main
deb http://debian.fastweb.it/debian jessie-updates main
deb http://security.debian.org/ jessie/updates main

我希望他们是:

deb http://debian.fastweb.it/debian jessie main contrib
deb http://debian.fastweb.it/debian jessie-updates main contrib
deb http://security.debian.org/ jessie/updates main contrib

所以我运行了这个命令:

docker run some/image sed -i 's/main/main contrib/g' /etc/apt/sources.list

哪个没有错误退出;但它不会更新/etc/apt/sources.list内容:

$docker run some/image cat /etc/apt/sources.list
deb http://debian.fastweb.it/debian jessie main
deb http://debian.fastweb.it/debian jessie-updates main
deb http://security.debian.org/ jessie/updates main
最佳答案
您没有更改图像.您基于图像启动了一个容器.然后,您运行sed命令并更改了文件内容.检查docker ps -a以查看刚刚关闭的容器的ID.如果您使用docker cp提取文件,则应该看到它已按预期更改(假设sed命令正常).

您还可以创建一个Dockerfile

FROM some/image
RUN sed -i 's/main/main contrib/g' /etc/apt/sources.list
# this command is just temporary,you probably are going to do something else
CMD cat /etc/apt/sources.list

并运行新映像docker运行some / new-image以获得预期的输出.

结论-您可能想在原始映像Dockerfile中运行sed命令.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读