2018/07/08

自前の Docker Registry を Systemd で管理する

前回の記事では自前で Docker Registry を立ててみました。
ですが、これだと docker run しただけなので、マシンを再起動すると上がってこない。
ということで systemd の unit にしてしまって自動起動させるようにしました。


環境

  • OS: CentOS Linux release 7.4.1708 (Core)
  • Docker: version 1.13.1, build 774336d/1.13.1
  • Kernel: 3.10.0-693.5.2.el7.x86_64


systemd の unit を書く

ググると誰かが書いた unit がいくつかヒットしました。これとかこれとか。
これらを参考に unit を書きます。とはいっても、考慮する具体的な内容は
  • registry の container の name は決めうち
    • unit を書くのを楽にするため
    • volume は面倒なので mount しない
  • registry の dependency には docker がある
    • サービスの起動順番の指定
くらいのものです。

ということで、できたのが
です。こいつを
  • /usr/lib/systemd/system/docker-registry.service
に配置。それから怒涛の systemctl 。
  • $ sudo systemctl daemon-reload
    • unit の reload で認識させる
  • $ sudo systemctl start docker-registry
    • systemd 経由で docker-registry を起動してみる。
    • docker ps するときちんと生きてます。
  • $ sudo systemctl restart docker
    • docker を再起動してもちゃんと生きてる。
    • dependency の設定も上手くいってそうです。
  • $ sudo systemctl enable docker-registry
    • んで、マシン起動時に起動するように
  • $ sudo reboot
    • そして再起動。
    • 再起動後にもきちんと registry が上がってました。良し良し。

ってな感じで再起動しても docker-registry が上がるようになりました。
めでたしめでたし。


参考

0 件のコメント:

コメントを投稿