質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.59%

VPS(docker-compose導入済み)上でKusanagi Runs on Dockerを構築する方法を教えて下さい

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 862

score 18

サイト運営を目標に現在勉強中です。
浅学ゆえの未熟な質問、ご容赦ください。
ご助力いただけますと大変助かります。 

前提・実現したいこと

  • バーチャルホストによるマルチドメインサイトのウェブサーバのひとつをKusanagi Runs on Dockerで構築したい

実現イメージは下記の記事です。

https://www.kagoya.jp/cloud/vps/tutorial/06.html

環境

<利用サービス>
DNS:さくらのクラウドDNS
サーバ:さくらのVPS 
CDN:さくらのウェブアクセラレータ 
メールサーバ:さくらのメールボックス

<バージョン>
OS
CentOS Linux release 7.8.2003 (Core)

Docker
Docker version 19.03.11
docker-compose version 1.14.0  

<現在の構成>
※ウェブサーバは現在、NGINXで構築しています。
表示されるページは、ネイキッドドメイン、サブドメインともに想定通りのページが表示されることを確認済みです。
ワイルドカード証明書は、Let's Encryptのcertbot-dns-sakuracloudプラグインにて取得しています。

/etc/vps/portal
├─docker-compose.yml…リバースプロキシ用
├─certs                      …ワイルドカード証明書のシンボリックリンクを格納
├─lib
├─public
│   ├─index.html        …hoge.com
│   ├─aaa
│   │  └─index.html   …aaa.hoge.com
│   ├─bbb
│   │  └─index.html   …bbb.hoge.com
:  :
:  :
│   └─img
│      └─1.jpg
├──vhosts
│   ├─hoge.com
│   │  ├─docker-compose.yml   …hoge.com
│   │  └─conf
│   │      └─default.conf
│   ├─aaa
│   │  ├─docker-compose.yml   …aaa.hoge.com
│   │  └─conf
│   │      └─default.conf
│   ├─bbb
│   │  ├─docker-compose.yml   …bbb.hoge.com
│   │  └─conf
│   │      └─default.conf

試したこと・わからないこと

下記の記事を参考に試してみたのですが、docker-compose up -d後、
プロセスを確認して見るとkusanagi-nginxのコンテナのステータスが「Exited (1)」となってしまい、
セットアップ画面を表示することができませんでした。

https://www.kagoya.jp/cloud/vps/tutorial/06.html

元の記事のdocker-compose.yml との内容の差分としましては、
証明書部分、ボリューム部分、ポート部分、設定ファイル部分が大きな差異なので、
そのあたりに要因があるのではないかと思うのですが、どうにも自己解決できませんでした。

お手数ですが、ご教授いただければ幸いです。

補足情報

現在のdocker-compose.yml、NGINX用default.confは以下になります。

<リバースプロキシ用>
/etc/vps/porta/docker-compose.yml

version: '2'

services:
  nginx-proxy:
    restart: always
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - /etc/nginx/ssl:/etc/nginx/dhparam:ro
      - /etc/letsencrypt/live/hoge.com:/etc/letsencrypt/live/hoge.com:ro
      - /etc/letsencrypt/archive/hoge.com:/etc/letsencrypt/archive/hoge.com:ro
      - /etc/vps/portal/certs:/etc/nginx/certs:ro
    networks:
        - common_link


networks:
  common_link:
    external:
      name: common_link

<現在のウェブサーバ(サブドメイン)>
/etc/vps/porta/vhosts/aaa/docker-compose.yml

version: '2'

services:

  secondary:
    restart: always
    image: nginx
    container_name: secondary
    environment:
      - VIRTUAL_HOST=aaa.hoge.com
    volumes:
      - /etc/vps/portal/vhosts/aaa/conf/default.conf:/etc/nginx/conf.d/default.conf
      - /etc/vps/portal/public:/usr/share/nginx/html
    networks:
        - common_link

networks:
  common_link:
    external:
      name: common_link

/etc/vps/portal/vhosts/aaa/conf/default.conf

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html/aaa;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html/aaa;
    }

location ~* \.(gif|jpe?g|png|ico)$
{
  add_header Cache-Control "s-maxage=86400, public";
root   /usr/share/nginx/html/aaa;
}


    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

<kusanagi用>

/etc/vps/porta/vhosts/kusanagi01/docker-compose.yml

version: '2'

services:
  kusanagi-data:
    container_name: kusanagi-data
    image: busybox
    restart: always
    stdin_open: true
    tty: true
    volumes:
      - /var/lib/mysql
      - /etc/nginx/ssl:/etc/nginx/dhparam:ro
      - /etc/letsencrypt/live/hoge.com:/etc/letsencrypt/live/hoge.com:ro
      - /etc/letsencrypt/archive/hoge.com:/etc/letsencrypt/archive/hoge.com:ro
      - /etc/vps/portal/certs:/etc/nginx/conf.d:ro
      - /etc/vps/portal/certs:/etc/httpd/conf.d:ro
      - /etc/kusanagi.d
      - /home/kusanagi
    command: /bin/sh


  kusanagi-nginx:
    container_name: kusanagi-nginx
    image: primestrategy/kusanagi-nginx:latest
    environment:
      - VIRTUAL_HOST=kusanagi01.hoge.com
      - WPLANG=ja
      - BCACHE=on
      - FCACHE=on
    volumes_from:
      - kusanagi-data
    links:
      - kusanagi-php7:php
      - kusanagi-mariadb:mysql
    ports:
      - "443"
      - "80"
    networks:
      - common_link


  kusanagi-mariadb:
    container_name: kusanagi-mariadb
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: t8gp9wue
      MYSQL_USER:     dbuser
      MYSQL_PASSWORD: c7sx5vk3
      MYSQL_DATABASE: wpdb
    volumes_from:
      - kusanagi-data
    networks:
      - common_link

  kusanagi-php7:
    container_name: kusanagi-php7
    image: primestrategy/kusanagi-php7:latest
    links:
      - kusanagi-mariadb:mysql
    volumes_from:
      - kusanagi-data
    networks:
      - common_link


networks:
  common_link:
    external: true

以上、よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.59%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る