2014-12-30 65 views
17

我需要在泊塢窗圖像中添加幾行到/etc/sysctl.conf。有沒有一種冪等的方式來通過dockerfile來做到這一點,而不是手動編輯和使用docker commit方法?從dockerfile編輯文件

+0

有人已經要求這個:https://github.com/moby/moby/issues/12193 –

回答

31

我會用下面的辦法在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 

但是,如果你的問題在於,僅僅讓設置爲「咬」 this question可能會有所幫助。

+0

你還可以添加一個環境變量到這個文件: - RUN echo $ ENV_VAR1 >> /etc/sysctl.conf – Righto

+0

how追加內容包含換行符。 – kn3l

6

SED工作得很好,以取代的東西,如果需要追加,可以用戶雙擊重定向

sed -i s/origin text/new text/ /etc/sysctl.conf 
bash -c 'echo hello world >> /etc/sysctl.conf