ですが、これだと 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 を書く
- registry の container の name は決めうち
- unit を書くのを楽にするため
- volume は面倒なので mount しない
- registry の dependency には docker がある
- サービスの起動順番の指定
くらいのものです。
ということで、できたのが
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Unit] | |
Description=Docker Registry | |
Requires=docker.service | |
After=docker.service | |
[Service] | |
Type=simple | |
ExecStart=/usr/bin/docker restart registry | |
ExecStop=-/usr/bin/docker stop registry | |
RemainAfterExit=yes | |
[Install] | |
WantedBy=multi-user.target |
です。こいつを
- /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 件のコメント:
コメントを投稿