背景

Ubuntu 20.04にて。 ホストマシンでPostgreSQLとDockerを動かしている。 PostgreSQLがListenするアドレスをdocker0ブリッジにしたい。このアドレスはeth0等と違ってホストの外部から見えず、ホストとゲストの両方から利用できて便利なのだ。 このブリッジを作成するのはDockerなので、PC起動時にDockerの初期化が終わるのを待ってからPostgreSQLを起動する必要がある。


手順

/lib/systemd/system/[email protected] または/usr/lib/systemd/system/[email protected][Unit]セクションを変更する。

-After=network.target
+After=network.target docker.service
+Wants=docker.service

systemdに構成ファイルの再読み込みさせる。

systemctl daemon-reload

依存関係の確認。

systemctl list-dependencies postgresql@13-main.service

再起動後に起動順序と処理時間を確認。

reboot
(再起動を待って再度ログイン)
systemd-analyze plot > systemd-analyze-plot.svg