Docker

アプリをコンテナとしてパッケージ・実行するツール。_moc-web-infra

基本

  • docker run <IMAGE> で起動、docker exec <CONTAINER> でコマンド実行。
  • Docker 1.11 以降は containerd + OCI(runc)上に構築されている。

ボリューム

  • bind mount: ホストのディレクトリをコンテナにバインド(-v $(pwd):/mnt)。
  • volume mount: Docker 管理のボリュームを作って割り当て(docker volume create, -v example-volume:/mnt)。

テスト・運用Tips

  • Docker outside of Docker (DooD) で pytest から DBアクセステストを副作用なく実行する。
  • 起動し続けたいコンテナは CMD/ENTRYPOINTsleep infinity を入れる、tty: true にする(でないと即終了・再起動ループ)。
  • docker-compose で固定IP・複数ノードのクラスタも組める(networks.<net>.ipv4_address, extra_hosts/etc/hosts 追記)。

関連