2014-12-30 25 views
17

Tôi cần phải thêm vài dòng vào tập tin /etc/sysctl.conf trong hình ảnh docker. Có cách nào không cần thiết để làm điều này thông qua một dockerfile hơn là chỉnh sửa bằng tay và sử dụng phương pháp tiếp cận docker cam kết?Chỉnh sửa tập tin từ dockerfile

+0

Ai đó đã yêu cầu điều này: https://github.com/moby/moby/issues/12193 –

Trả lời

31

Tôi sẽ sử dụng các phương pháp sau đây trong Dockerfile

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

Điều đó sẽ làm lừa. Nếu bạn muốn thay thế một số ký tự hoặc tương tự, bạn có thể làm việc này với sed bằng cách sử dụng ví dụ: như sau:

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

Tuy nhiên, nếu sự cố của bạn chỉ đơn giản là cài đặt "cắn" this question có thể giúp ích.

+0

Bạn cũng có thể thêm biến môi trường vào tệp này: - RUN echo $ ENV_VAR1 >> /etc/sysctl.conf – Righto

+0

cách để nối thêm nội dung chứa với dòng mới. – kn3l

6

việc sed khá tốt để thay thế công cụ, nếu bạn cần phải thêm, bạn có thể sử dụng đôi redirect

sed -i s/origin text/new text/ /etc/sysctl.conf 
bash -c 'echo hello world >> /etc/sysctl.conf 
Các vấn đề liên quan