dockerとかよく分からなくて、他社が構築したサーバだったのでダダハマリしたorz
事象
複数ネットワークから連続でアップロードを行うと失敗する。
再現性はあるけど絶対起こるわけでもない。
原因
・dockerはフォアグラウンドのプロセスのみを維持し、それ以外はexitしてリソースを解放する
・vsftpdは転送作業が正常に終了するとバックグラウンドになる
→ configで「background=NO」としても駄目だった
・vsftpdのコンテナに「restart: always」が設定されていたので、exitした後、新しいプロセスでvsftpdは再起動される
→ この再起動中にアップロードが失敗する
解決方法
dockerがexitしないようにコンテナに別のフォアグラウンドプロセスを常駐させる。
参考