やりたいこと
Docker コンテナでアプリケーションを構成しているとして、EC2 インスタンスを起動したとき、自動的にコンテナが立ち上がったらうれしいので、実現したい。
手順
-
EC2 インスタンス起動時に Docker が自動起動するようにする
$ sudo systemctl enable docker
※ 確認するには以下を実行し
docker.service; enabled;
と表示されていれば OK$ sudo systemctl status docker
-
Docker コンテナ起動のスクリプトを配置する
-
/var/lib/cloud/scripts/per-boot/
にスクリプトを配置することで、インスタンス起動時に実行してくれる
起動時に Linux インスタンスでコマンドを実行する - 配置するスクリプト
#!/bin/sh cd /home/ec2-user docker start CONTAINER_NAME
-
docker-compose
でやるなら例えばこう#!/bin/bash cd /home/ec2-user docker-compose -f docker-compose.yml up --build
注意点としては、
/var/lib/cloud/scripts/per-boot/
で実行されるようなので、スクリプトの実行位置に気をつけてディレクトリを移動する必要がある。 -