Мне нужно добавить ротацию журнала к docker, и для этого мне нужно отредактировать файл демона и добавить к нему json. Я написал скрипт ниже, но он не работает.
Если файл не существует, он создаст файл, но он будет пустым, и если он существует, он не сможет добавить данные json к нему с ошибкой ниже:
modifying /etc/docker/daemon.json for log rotation
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
Я тоже могу сделать это с python, но я хочу знать, что я делаю неправильно?
Сценарий:
sudo apt install -y jq
if [ ! -f /etc/docker/daemon.json ]; then
echo "creating /etc/docker/daemon.json and configure it for log rotation"
jq -n '{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}' > /etc/docker/daemon.json
else
echo "modifying /etc/docker/daemon.json for log rotation"
jq --argjson obj '{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}' '. + $obj'< /etc/docker/daemon.json > tmp && sudo mv tmp /etc/docker/daemon.json
fi
sudo systemctl restart docker