J'ai besoin d'ajouter plusieurs lignes à /etc/sysctl.conf dans une image de menu fixe. Existe-t-il un moyen idempotent de faire cela via un fichier docker plutôt que de le modifier manuellement et en utilisant l'approche de validation du docker?
J'utiliserais l'approche suivante dans le Dockerfile
RUN echo "Some line to add to a file" >> /etc/sysctl.conf
Cela devrait faire l'affaire. Si vous souhaitez remplacer certains caractères ou similaires, vous pouvez résoudre ce problème en utilisant sed, par exemple. le suivant:
RUN sed -i "s|some-original-string|the-new-string |g" /etc/sysctl.conf
Cependant, si votre problème consiste simplement à obtenir les réglages nécessaires pour "mordre" cette question peut être utile.
sed fonctionne assez bien pour remplacer des choses, si vous avez besoin d'ajouter, vous pouvez rediriger l'utilisateur
sed -i 's/Origin text/new text/' /etc/sysctl.conf
bash -c 'echo hello world' >> /etc/sysctl.conf
-i
est une option non standard de l’édition GNU sed pour en ligne (ce qui évite de traiter des fichiers temporaires).