如何重新启动docker容器没有日志级别?
我有一个日志级别设置为JSON的正在运行的容器。 我想重新启动日志级别设置为none
的容器。
我试图使用docker restart --log-driver none <CONTAINER_ID>
,但它没有奏效。
如何重新启动我的docker容器出日志级别?
我没有意识到它指的是--log-driver
。 如果是这种情况,你绝对不能删除容器,并开始一个新的,有一个选项。 您可以手动编辑hostconfig.json
文件来更改日志logging驱动程序并重新启动Docker守护进程。
例:
我启动一个容器,每隔10秒loggingdate输出:
$ docker run -d --log-driver json-file --name mytest alpine sh -c "while true; do echo \$(date); sleep 10; done" edf6bb60088ded11d991b6f31bc7091e2f6b81552937471beeafc5f271697a6f $ docker logs mytest Mon Apr 3 21:27:08 UTC 2017 Mon Apr 3 21:27:18 UTC 2017 Mon Apr 3 21:27:28 UTC 2017
现在我停止了容器:
$ docker stop mytest
编辑hostconfig.json
文件(首先SSH到我的Docker机器):
$ docker-machine ssh default docker@default:~$ sudo vi /mnt/sda1/var/lib/docker/containers/776d9c6d63c5e229fe4ce4bfe534f42cc9d1f04df7699171ce28414c4f086a63/hostconfig.json
find"Type":"json-file"
并改为"Type":"none"
并保存。
现在重新启动Docker守护进程(并退出SSH):
docker@default:~$ sudo /etc/init.d/docker restart docker@default:~$ exit
再次启动您的容器:
$ docker start mytest
没有更多日志:
$ docker logs mytest "logs" command is supported only for "json-file" and "journald" logging drivers (got: none)
log-level
是一个不赞成的命令,我想你的意思是--log-driver
在重新启动或使用docker update
期间,您不能设置日志级别,所以唯一的方法是杀死容器并重新启动。 希望你使用了一个容量来保存你的持久数据。
docker kill <id> docker run --log-driver=none