LoginSignup
2
0

EC2インスタンス(Ubuntu)の再起動時に自動でdocker-composeを発火させたい

Posted at

EC2インスタンス(Ubuntu)の再起動時に自動でdocker-composeを発火させたい

Step1. docker-compose.yamlがあることを確認

対象のプロジェクトにdocker-compose.yamlファイルがあることを確認してください。
例えば次のようなものです。

docker-compose.yaml
version: '3'
services:
  web:
    image: nginx
    ports:
      - "80:80"

Step2. Systemd サービスの作成

インスタンスが再起動されるときに自動的に docker-compose up を実行するSystemd サービスを作成します。以下は、/etc/systemd/system/docker-compose-app.service というファイルを作成する例です。
Vimなどを使って作成することになるでしょう。

docker-compose-app.service
[Unit]
Description=Docker Compose Application
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/path/to/your/project
ExecStart=/usr/local/bin/docker-compose up -d

[Install]
WantedBy=multi-user.target

ここで'WorkingDirectory'はpwdなどで確認して、対象のプロジェクトをパスを指定してください。
'ExecStart'のパスはdocker-composeの実際の場所に合わせてください。通常は /usr/local/bin/docker-composeです。

Step3. Systemd サービスの有効化

$ sudo systemctl enable docker-compose-app

Step4. インスタンスの再起動

$ sudo reboot

これで、EC2インスタンスが再起動されるたびに、docker-compose up が自動的に実行されるようになります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0