LoginSignup
6
13

More than 5 years have passed since last update.

Dockerを使って、ownCloudをセットアップしてみた。 Nginx編

Posted at

はじめに

前回、Dockerを使って、ownCloudをセットアップしてみた。では、オフィシャルイメージのapacheが内蔵されているものを利用しました。
Apacheは、非常に安定して動作するが動作が遅いらしいので、今回は、Nginxを使ってみたいと思います。
利用するイメージは、owncloud:fpmです。

コンテナ構成

OSは、前回に引き続きBargeOSを使用しますので、全てのサービスをコンテナで導入します。
導入するコンテナは、下記の3つです。
(1)Nginx
(2)ownCloud
(3)PostgresSQL

準備

本記事では、docker v17.03.0-ceとdocker-compose v1.11.2を使います。
下記のコマンドで用意します。
OSは、dockerに特化されたBargeを使いました。

dockerのバージョンアップ

bash
$ sudo /etc/init.d/docker restart v17.03.0-ce

docker-composeのインストール

bash
$ wget -L https://github.com/docker/compose/releases/download/1.11.2/docker-compose-`uname -s`-`uname -m`
$ chmod +x docker-compose-`uname -s`-`uname -m`
$ sudo mv docker-compose-`uname -s`-`uname -m` /opt/bin/docker-compose
$ sudo chown root:root /opt/bin/docker-compose

ownCloudのセットアップ

owncloudのimageは、owncloud:fpmを利用します。
owncloud:latestは、apacheがコンテナに内蔵されていましたが、fpmは、内蔵されていません。
fpmは、php-fpmというcgiインターフェース(?)だけが用意されているという意味みたいです。
nginxのimageは、raulr/nginx-owncloudを利用します。
このimageは、default.confに、owncloudへの接続設定が予め焼き込んであります。

docker-compose.yml
# postgres
postgres:
    image: postgres
    container_name: postgres
    volumes:
        - "/opt/pg_data:/var/lib/postgresql/data"
    environment:
        POSTGRES_PASSWORD: supersecretpassword
# owncloud
owncloud:
    image: owncloud:fpm
    container_name: owncloud
    links:
        - postgres
# nginx
nginx:
    image: raulr/nginx-owncloud
    container_name: nginx
    links:
        - owncloud
    volumes_from:
        - owncloud
    ports:
        - "80:80"

nginxとowncloudのコンテナ間は、9000ポートで接続されます。

bash
$ docker-compose up -d

実行してみるとapacheを使った構成よりもレスポンスが大幅に良いようです。

6
13
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
6
13