Closed masibw closed 3 years ago
Docker Engine APIを使ってコンテナを作ったり削除してみたりして検知するかを確認するとか…? procのprocessのテストにコンテナを作成して通信させて…みたいなことをやっているのでそれからコピペしても良いかも.(まだ,pushしてねぇ…
Docker Engine APIを使ってコンテナを作ったり削除してみたりして検知するかを確認するとか…? procのprocessのテストにコンテナを作成して通信させて…みたいなことをやっているのでそれからコピペしても良いかも.(まだ,pushしてねぇ…
おっしゃる通りですね・・書きます!
今週中にDocker SDKを使った手法に変える & テストを書きます!
ありがとう.申し訳ない…
$ docker events --filter 'type=container' --filter 'event=create' --filter 'event=destroy'
2020-09-28T06:19:05.801043911Z container destroy 7de10c5feb74868034901177eb1b9aac403eef2561ddac3a6f76ce905ab67687 (image=nginx:1.19.2, maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>, name=nginx_test)
2020-09-28T06:19:13.388965543Z container create 11a664b1f62bd36d4817afeb8f4dd52d1fbfc9bd26c56691103cee3a6b24afe5 (image=nginx:1.19.2, maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>, name=nginx_test)
このコマンドをSDKで実現できると嬉しい.
概要
コンテナ起動検知システムです
技術的詳細
fsnotifyを使用しています。
コンテナ起動時(start, unpause)
コンテナ監視に必要な初期化処理を行います
コンテナ停止時(stop, pause, kill, die, destroy)
該当コンテナ開始に使っていた処理・情報を削除します
コンテナ起動検知失敗時
エラーを出力します
動作確認
未完成の関数にはreturn nilとかを記載してセキュリティポリシーの部分をコメントアウトして実行しています。
申し送り
起動アクションタイプ
停止アクションタイプ
exec_* 系に関してはコンテナ起動後にしか実行できないと思うので含めていません
Todo
参考資料
https://github.com/moby/moby/issues/12164