docker swarmのオーバーレイネットワークの安定性について

半年くらい前にこんな記事を書いたのですが、まあうまく行きませんでした。

okzk.hatenablog.com

頂いたブコメも試してみたんですけど、結果は芳しくなく。。。

Re: Dockerに載せたサービスをホットデプロイする - okzkメモ

--stop-grace-periodの設定とDockerfileのHEARTBEATとSTOPSIGNALの設定をすれば出来るはず

2016/08/17 06:19
b.hatena.ne.jp

そんな中、元記事のヒトも試してみたようですけど、同じ結果に。。。

h3poteto.hatenablog.com


そんな中、CVE-2016-9962も出ちゃったし、docker 1.13もリリースされたコトだし、ということでdocker 1.13でswarmモードをもう一回試してみました。

インストール後、swarm初期化

# docker swarm init
# docker service create --update-delay 5s -p 80:80 --name test --replicas 2 nginx

別ウインドウでログ等を確認しつつ

# watch -n 0.3 'curl -sI  http://localhost; docker ps -q | xargs -i sh -c "echo ----------- {};docker logs --tail 5 {}"'

パタパタイメージが切り替わるようにやる気なくワンライナー

# set -e
# while : ; do docker service update --image nginx:stable test ; sleep 15 ; docker service update --image nginx test; sleep 15 ; done

数十分放置してみましたが、特に問題ありませんでした。


というわけで元記事に対する半年遅れの回答になりますけどdocker 1.13のswarmモード使えば良いんじゃないでしょうか?