OS起動時に、デフォルトですとfirewalldが先に起動し、そのあとにdockerが起動するのですが、
それだとfirewalldがエラーを出し、正常に起動しないのですが、(firewalldが機能しないので、ザル状態になる)
dockerは正常に起動しコンテナも問題なく自動で立ち上がります。
そこで あれこれ検証した結果、firewalld も docker も stop した状態で
docker → firewalld の順番で起動すると どちらも問題なく起動します。
そこで、/etc/systemd/system/multi-user.target.wants/docker.servie の中身を見ると
[Unit]のところに After=firewalld.service がデフォルトで入っているので、
これは、「docker は firewalld の後に起動する」 という意味です。(という認識です)
デフォルトがそのような設定なので、そもそもこの設定をいじるのは良くないのかとも思いましたが、
「firewalld の前に docker が起動する」 となるように上記パスにある docker.servie と firewalld.service
をAfterとBeforeを駆使して編集してからOS再起動を試しましたが、OSが起動しなくなったりしてしまいました。
やはりBeforeとAfterを使ってfirewalld と docker の起動順序を変更するというのは無理な事なのでしょうか?
当方がsystemdをあまり深く理解していないこともあるかもしれませんが、
OS起動時にdocker → firewalld の順番で問題なく起動させるにはどのようにしたら良いでしょうか
コンテナはそれぞれ3台起動するようになっているのですが、
コンテナのネットワークは3台とも同じネットワークで(コンテナ内ネットワーク)ymlファイルにて driver:bridge を指定しています。
OS : CentOS7.6
docker version: 19.03.15
firewall-cmd version: 0.5.3
あなたの回答
tips
プレビュー