6cab3bc852
* Add rotation feature to docker logs * Fix: only apply log rotation for json-file log driver
42 lines
1.1 KiB
Django/Jinja
42 lines
1.1 KiB
Django/Jinja
#!/bin/bash
|
|
|
|
# Obtain our platform and HWSKU as we will mount directories with these names in each docker
|
|
PLATFORM=`sonic-cfggen -v platform`
|
|
HWSKU=`sonic-cfggen -m /etc/sonic/minigraph.xml -v minigraph_hwsku`
|
|
|
|
start() {
|
|
docker inspect --type container {{docker_container_name}} &>/dev/null
|
|
if [ "$?" -eq "0" ]; then
|
|
docker start {{docker_container_name}}
|
|
else
|
|
|
|
docker run -d {{docker_image_run_opt}} \
|
|
{%- if '--log-driver=json-file' in docker_image_run_opt or '--log-driver' not in docker_image_run_opt %}
|
|
--log-opt max-size=2M --log-opt max-file=5 \
|
|
{%- endif %}
|
|
-v /var/run/redis:/var/run/redis:rw \
|
|
-v /usr/share/sonic/device/$PLATFORM:/usr/share/sonic/platform:ro \
|
|
-v /usr/share/sonic/device/$PLATFORM/$HWSKU:/usr/share/sonic/hwsku:ro \
|
|
--name={{docker_container_name}} {{docker_image_name}}:latest
|
|
fi
|
|
}
|
|
|
|
attach() {
|
|
docker attach --no-stdin {{docker_container_name}}
|
|
}
|
|
|
|
stop() {
|
|
docker stop {{docker_container_name}}
|
|
}
|
|
|
|
case "$1" in
|
|
start|stop|attach)
|
|
$1
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {start|stop|attach}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|