2017-04-03 8 views
0

ログレベルがJSONに設定された実行中のコンテナがあります。ログレベルをnoneに設定してコンテナを再起動します。ログレベルなしでドッカーコンテナを再起動するには?

docker restart --log-driver none <CONTAINER_ID>を試してみましたが、うまくいきませんでした。

ログレベルを外してドッカーコンテナを再起動するにはどうすればよいですか?

+0

私は表示されません。

[email protected]:~$ sudo /etc/init.d/docker restart [email protected]:~$ exit 

は再びあなたのコンテナを起動します:

$ docker start mytest 

これ以上のログ

は今(と出口SSH)ドッカーデーモンを再起動します'' docker run'の '--log-level'フラグです。最初にコンテナをどのように起動したかについての情報をいくつか追加できますか? –

答えて

1

私はそれが--log-driverを参照していたことを認識しませんでした。これが当てはまり、絶対にコンテナを取り出して新しいコンテナを開始できない場合は、オプションがあります。 hostconfig.jsonファイルを手動で編集してロギングドライバを変更し、Dockerデーモンを再起動することができます。

例:

私は日付の出力ごとに10秒を記録しますコンテナを起動します。

$ 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-machine ssh default 
[email protected]:~$ sudo vi /mnt/sda1/var/lib/docker/containers/776d9c6d63c5e229fe4ce4bfe534f42cc9d1f04df7699171ce28414c4f086a63/hostconfig.json 

"Type":"json-file"を検索し、"Type":"none"に変更して保存してください。

$ docker logs mytest 
"logs" command is supported only for "json-file" and "journald" logging drivers (got: none) 
0

log-levelは推奨されないコマンドです、私はあなたが再起動時にログレベルを設定するかのどちらかdocker updateを使用して、その唯一の方法は、コンテナを殺し、再び開始することができません--log-driver

を意味すると思います。うまくいけば永続的なデータのためにボリュームを使用しています。

docker kill <id> 
docker run --log-driver=none 
関連する問題