Editing files from dockerfile

2019-02-01 22:17发布

I need to add several lines to /etc/sysctl.conf in a docker image. Is there an idempotent way to do this via a dockerfile rather than editing manually and using the docker commit approach?

2条回答
再贱就再见
2楼-- · 2019-02-01 23:07

I would use the following approach in the Dockerfile

RUN   echo "Some line to add to a file" >> /etc/sysctl.conf

That should do the trick. If you wish to replace some characters or similar you can work this out with sed by using e.g. the following:

RUN   sed -i "s|some-original-string|the-new-string |g" /etc/sysctl.conf

However, if your problem lies in simply getting the settings to "bite" this question might be of help.

查看更多
虎瘦雄心在
3楼-- · 2019-02-01 23:18

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).

查看更多
登录 后发表回答