1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GROCYをdockerのimageファイルで動かすために試行錯誤した話

Last updated at Posted at 2020-05-05

ゴール

無料&オープンソースで食料の在庫から家事分担まで家庭のことがすべて管理できる本格的なERPシステム「grocy」を起動させること
https://gigazine.net/news/20200328-grocy/

制約条件

・手元にあるのはwindowsPC(エディション Windows 10 Home)
・webサーバー編のDockerを用いた方法で動作させること

検証した方法

1.windowsにDockerを入れる方法 ★失敗
2.EC2でLinuxインスタンスを立てて入れる方法 ★失敗
3.EC2でubuntuインスタンスを立てて入れる方法 ★失敗
4.rasberryPIでOSがLINUXのサーバを立てて入れる方法 ★成功

1.windowsにDockerを入れる方法

dockerとdocker-composeを入れる
win_docker2.jpg

docker-compose pullでこける
win__error2.jpg

->どうやらimageファイルのホストOSがLINUXを想定しているため動かない


そもそもHyper-Xの機能が搭載していないと動かない様子
エディションがwindows 10 Homeのパソコンでは載せられなかった模様

windows 10 Homeで機能を再現するならdocker Toolboxがある様子
ただしこれは終了している(?)ようでdocker公式のHPからexeファイルを取得することはできなかった。

2.EC2でLinuxインスタンスを立てて入れる方法

Amazon Linux AMI 2018.03.0 のインスタンスをたてて、動かそうとした。デスクトップの画面が表示できなかったため断念(当初は必要と思っていた。よくよく考えればterminalから接続できて、IPさえ取得できれば要らなかった)

ec2.JPG

3.EC2でubuntuインスタンスを立てて入れる方法

それならばと
Ubuntu Server 18.04LTSのインスタンスを立てた。
以下サイトを参考にしてデスクトップのログイン環境を整えた。
リモートにはxrdpのパッケージを利用した。

▼インスタンス起動画面
ec2_move.JPG

▼リモートでログインしたときの画面
ec2_remote.JPG

当初無料枠のt2.microを利用していたが、デスクトップが重くほぼ動かなかったのでt2.largeに変更。メモリが8GBくらいになる。
料金的にも消し忘れなければ、0.0928USD/時間くらいで済みそうとの判断。

▼EC2料金表
https://aws.amazon.com/jp/ec2/pricing/on-demand/

接続にはwindows terminalを使用

▼windwos terminalのインストール方法
https://qiita.com/rubytomato@github/items/e88cab84f36e44797cf2

接続には以下コマンドを利用する

ssh -i {pemファイルパス} ubuntu@{IP}

またしてもdocker-compose pullでこける

▼エラー内容
ubuntu_error2.jpg

エラーの検証には以下コマンドが便利
systemctl status docker
docker ps

普通に権限不足だった。以下で解決
https://qiita.com/ashidaka/items/734856443f922ff175b1

docker-compose up -dを実行
docker-compose psでコンテナが動いていることを確認

▼動作している様子
docker up2.jpg

ここでまたしても問題発生。IP指定してもGROCYの画面がでてこない。
AWSが複雑にしている様子。
IPの指定かセキュリティグループとか色々弄らないとだめなのかしら...

4.rasberryPIでOSがLINUXのサーバを立てて入れる方法
最終手段としてrasberryPIを使ってLINUXでサーバーを立ち上げることに

幸いパーツは手元にあったのでつないでmicoSDにLINUXの必要なファイルをコピーして起動

▼繋いでいる様子
ras.JPG

初期環境設定として以下を対応

・インストール
https://pen08.com/raspberry_pi_os_install

・環境の最新化
https://yukaobu.wordpress.com/2017/05/01/raspi-update/

・日本語化
https://www.ratocsystems.com/products/triple_r/blog/?x=entry:entry180330-152029

・rootユーザーの設定(パスワード設定)
http://masatolan.com/raspberry-pi/raspberry-pi-security/

▼初期設定完了後の画面
raspi_screen.JPG

続いてdockerとdocker-compose、gitをインストール。
権限付与も忘れずに実行。

・docker、docker-composeのインストール手順
https://qiita.com/hawk777/items/467ea47377e69089de5b

・gitのインストール手順
https://www.webprofessional.jp/setting-up-your-raspberry-pi-as-a-git-server/

最後の関門はこれ
ubuntu_error2.jpg

exec format error がでてdocker-compose up が正常に終了しない

どうやらこの時点ではイメージの作成が完了していないため、一度ビルドする必要があるらしい。

docker-compose.ymlのファイルがあるフォルダで以下コマンドを実行する。

docker-compose build

▼grocy-dockerのフォルダ構成
docker_yml.png

動いた...!!

finish.JPG

ちなみに参考までにRasberryPIのLINUXのアーキテクチャーはARMを使っているらしい。
DockerHubからイメージを取得してrunするときはarm対応のものでないとまたexec format errorに遭遇することになる....

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?