#目的
Flatの環境またDockerの環境が構築されている場合、RaspberyPiを起動した後、Dockerの特定イメージを自動で起動させる方法について話をしたいと思います。
#1./etc/rc.localについて
OSが起動された後、何か実行したい処理をここに追加します。
#2.既存のrc.localの中身を確認します。
「cat」コマンドでファイルの中身を確認します。
ここに処理を追加する場合は「exit 0」の前に追加します。
「exit 0」の後ろに追加した場合は正常に実行されません。
pi@raspberrypi:~ $ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
exit 0
#3.Dockerイメージを起動するコマンドを追加します。
Dockerイメージを起動するコマンドの形式は下記の通りです。
行の末に「&」を必ず入れて置きましょう。
→追加した処理が正しく終わらないとOSの起動が止まっている可能性があります。
例)/usr/bin/docker start docker-image-name &
コマンドを追加したrc.localファイルの中身です。
pi@raspberrypi:~ $ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
/usr/bin/docker start LAMP &
exit 0
※前回Flatの環境で構築したLAMP環境のDockerイメージ名です。
前回記事:Flatを利用してLAMP環境構築
#4.RaspberryPIを再起動します。
下記のコマンドを実行するとRaspberryPIが再起動されます。
pi@raspberrypi:~ $ sudo reboot
#5.Flat環境へログインします。
①下記のアドレスをブラウザから入力してアクセスします。
http://[Raspberry PIのIPアドレス]:9000
または(モニターと直接繋がっている場合、下記のアドレスを利用してもOK)
http://localhost:9000
②アカウントは[admin/設定したパスワード]を入力します。
③Flatの初期画面です。「Containers」メニューを選択します。
④下記のLAMPというDockerイメージは起動されていますが、
OSMCというDockerイメージは起動されてないことが分かります。
#6.その他
Dockerイメージを起動した後、Dockerイメージの中にあるコマンドを実行したい場合、
以下の形式で「/etc/rc.local」ファイルに追加します。
★注意事項★
Dockerイメージの起動コマンドの後に追加してください。
/usr/bin/docker exec LAMP /usr/bin/python /home/pi/mail.py &
※pythonコマンドでmail.pyプログラムを起動する例です。
#終わりに
今までRaspberryPIを再起動したらFlatの画面でDockerのイメージを毎回起動ボタンを押さないとDockerが起動されなかったですが、これからは再起動すると自動でDockerイメージが起動されるようになりました。
少し役に立ちましたか?次回は上記の「mail.py」について紹介したいと思います。
お休みなさい。^^&