docker-compose を使った Amon2 の開発環境構築の手順メモ
検証環境
Windows10 Home Edition VirtualBox 5.1.20 Docker version 17.05.0-ce, build 89658be docker-compose version 1.6.2, build 4d72027
ディレクトリ構成
+---amon | | docker-compose.yml | | | +---data | | Dockerfile | | | +---perlcli | Dockerfile | +---logs | +---www cpanfile
各種設定ファイル
amon/docker-compose.yml
version: "2" services: data: build: ./data volumes: - ../:/data perlcli: build: ./perlcli volumes_from: - data plack: image: amon_perlcli volumes_from: - data ports: - "3000:3000" command: ["carton","exec","--","plackup","-p","3000","-r","myapp/app.psgi"] depends_on: - perlcli
amon/data/Dockerfile
FROM busybox LABEL maintainer "takaya030" RUN mkdir -p /data VOLUME ["/data"] CMD ["true"]
amon/perlcli/Dockerfile
FROM perl:5.24.1 LABEL maintainer "takaya030" WORKDIR /tmp RUN apt-get update -y && \ apt-get clean && \ rm -fr /var/lib/apt/lists/* # install carton RUN cpanm Carton # create docker user RUN useradd -d /home/docker -m -s /bin/bash -u 1000 -g 50 docker RUN mkdir -p /data/www VOLUME ["/data"] WORKDIR /data/www USER 1000 CMD ["perl","-v"]
www/cpanfile
requires 'Plack', '1.0044'; requires 'Amon2', '6.13'; requires 'Amon2::Lite', '0.13';
Amon2 と Plack のインストール
イメージビルド後、以下のコマンドで Amon2 と Plack をインストールします。
$ docker-compose run --rm perlcli carton install
動作確認
以下のコマンドでサンプルアプリケーションを作成します。
$ docker-compose run --rm perlcli carton exec -- amon2-setup.pl --flavor=Lite myapp
以下のコマンドで plack サーバーが起動します。
$ docker-compose up -d
web ブラウザで http://192.168.99.100:3000 にアクセスして以下の画面が表示されれば成功です。