Open kanzawa2 opened 7 years ago
現在,Dockerfileにgit clone を記述することにより,コンテナ内でcamomeをgit cloneによりダウンロードしようとしている. camomeの動作には,config以下に,application_settings.ymlとsecrets.ymlが必要となる.しかし,gitHubにはこれらのファイルがなく,テンプレートである,application_settings_sample.ymlとsecrets-example.ymlしか存在しない.このため,camomeコンテナをbuildした後でコンテナ内に,必要となる2つのファイルを作成し,編集する必要がある. しかし,これを行おうとcamomeコンテナを立ち上げると," Switch to inspect mode"と表示され,すぐにコンテナが落ちてしまう.
redisサーバ,goohub,camome,およびcamomeのデータベースをそれぞれ別コンテナとして立ち上げた.
各コンテナを docker-compose を用いて立ち上げる手順を示す.ここでは camome と goohub のイメージが手元に存在していることを前提とする.
docker-compose.ymlを以下のように作成する.
version: '3'
services:
db:
container_name: db
image: postgres
expose:
- "5432"
web:
container_name: camome
image: camome
command: bundle exec rails s -p 3000 -b 0.0.0.0
ports:
- "3000:3000"
links:
- redis
- db
redis:
container_name: redis
image: redis
goohub:
container_name: goohub
image: goohub
links:
- redis
- web
volumes:
- ./goohub:$HOME/.config/goohub
camomeのデータベースを初期化する.
$ docker-compose run web rake db:create db:migrate db:seed
goohub とそれにリンクされているコンテナを立ち上げ goohub を bash で操作する.
$ docker-compose run goohub bash
goohub の bash で goohub の初期化と Google カレンダの認証を行う.
$ goohub init
$ goohub auth
event を redis に保存する.
$ goohub event CALENDAR_ID START_MONTH --output=redis:redis
camome のカレンダから redis に保存されているイベントを表示できることを確認する.
docker-compose run goohub bash
で goohub を立ち上げて,bash にアクセスする必要がある.
docker-compose run goohub bash
では goohub とそれにリンクされているコンテナしか立ち上がらないため明示的に camome をリンクする必要がある.
Created from AI0386 of minute 474.