作者:zhanghao320829 | 来源:互联网 | 2023-05-28 21:42
我需要在docker镜像中为/etc/sysctl.conf添加几行.是否有一种幂等方式通过dockerfile执行此操作,而不是手动编辑并使用docker commit方法?
1> wassgren..:
我会在下面使用以下方法 Dockerfile
RUN echo "Some line to add to a file" >> /etc/sysctl.conf
这应该够了吧.如果您想要替换某些字符或类似字符,可以使用以下方法使用sed解决这个问题:
RUN sed -i "s|some-original-string|the-new-string |g" /etc/sysctl.conf
但是,如果你的问题在于简单地让设置"咬" 这个问题可能会有所帮助.
2> creack..:
sed work pretty well to replace stuff, if you need to append, you can user double redirect
sed -i 's/origin text/new text/' /etc/sysctl.conf
bash -c 'echo hello world' >> /etc/sysctl.conf
-i
is a non-standard option of GNU sed for inline editing (alleviating the need for dealing with temporary files).