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

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

ただいまの
回答率

90.04%

Dockerでのフォルダのマウントについて

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 778

takoyaki-ccc

score 11

皆様 お世話になっております。

私は現在Dockerを利用してlinux + apache + cakephp3 のアプリケーションの作成を試みております。
Dockerファイルからコンテナを作成し、cakephpのソース自体は既存のものがあるためホスト側に配置したいと考えているのですが、「docker-compose.yml」のVolumesでマウントする際、ホスト側はどの階層を指定すれば宜しいのでしょうか?
apacheの起動についてはマウントしたホスト側にindex.phpを作成し、phpinfoが表示されることを確認できました。

質問文が拙く申し訳ございませんが、ご教授の程、宜しくお願い致します。

以下Dockerのファイルになります。

FROM php:7.0-apache

# Enable the Apache Headers module:
RUN ln -s /etc/apache2/mods-available/headers.load \
  /etc/apache2/mods-enabled/headers.load

# Enable the Apache Rewrite module:
RUN ln -s /etc/apache2/mods-available/rewrite.load \
  /etc/apache2/mods-enabled/rewrite.load

# Install GD, Imagick and ImageMagick as image conversion options:
RUN DEBIAN_FRONTEND=noninteractive \
  apt-get update && apt-get install -y --no-install-recommends \
    libpng-dev \
    libjpeg-dev \
    libmagickwand-dev \
    imagemagick \
  && pecl install \
    imagick \
  && docker-php-ext-enable \
    imagick \
  && docker-php-ext-configure \
    gd --with-jpeg-dir=/usr/include/ \
  && docker-php-ext-install \
    gd \
  # Uninstall obsolete packages:
  && apt-get autoremove -y \
    libpng-dev \
    libjpeg-dev \
    libmagickwand-dev \
  # Remove obsolete files:
  && apt-get clean \
  && rm -rf \
    /tmp/* \
    /usr/share/doc/* \
    /var/cache/* \
    /var/lib/apt/lists/* \
    /var/tmp/*


以下、docker-compose.yml

apache:
  build: docker/
  ports:
    - "8080:80"
  volumes:
    - "../:/var/www/html"

cakephp側のディレクトリ構成(cakephpでプロジェクトを作成した際のフォルダ構成そのままです)
testApp
┣━bin
┣━composer.json
┣━composer.lock
┣━config
┣━index.php
┣━logs
┣━phpunit.xml.dist
┣━plugins
┣━README.md
┣━src
┣━tests
┣━tmp
┣━vendor
┃  ┗docker
┃    ┣━Dockerfile
┃    ┗━docker-compose.yml
┗webroot

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正の依頼

  • takoyaki-ccc

    2018/10/25 09:56

    申し訳ございません。Dockerfile, docker-compose.ymlの場所についても追記をしました。

    キャンセル

  • xenbeat

    2018/10/26 04:57

    とりあえずvendor配下にあるdocker関連のファイルをtestAppの直下に移動してください。Cakeを使ったことないのですが、そういう意図で用意されているものではないです( https://book.cakephp.org/3.0/ja/intro/cakephp-folder-structure.html#cakephp

    キャンセル

  • takoyaki-ccc

    2018/11/06 11:26

    xenbeat様 返信が遅くなり大変申し訳ございません。そもそもの使い方を理解できていないようでした。。

    キャンセル

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

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

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