前提・実現したいこと
dockerを使用してcakephp2の環境構築したいと思っています。
githubからcakephp2.xをダウンロードして使用しています。
全く解決の糸口が見つからないのでご教授いただけますと、幸いです。
発生している問題・エラーメッセージ
localhostに接続しようとすると、以下のエラーが出現します。
The requested URL / was not found on this server.
該当のソースコード
Dockerfile
FROM php:5.6-apache RUN apt-get update -yqq \ && apt-get install -yqq --no-install-recommends \ git \ zip \ unzip \ && rm -rf /var/lib/apt/lists # Enable PHP extensions RUN docker-php-ext-install pdo_mysql mysqli # Install composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer # Add cake and composer command to system path ENV PATH="${PATH}:/var/www/html/lib/Cake/Console" ENV PATH="${PATH}:/var/www/html/app/Vendor/bin" # COPY apache site.conf file COPY ./docker/apache/site.conf /etc/apache2/sites-available/000-default.conf # Copy the source code into /var/www/html/ inside the image COPY . . # Set default working directory WORKDIR ./app # Create tmp directory and make it writable by the web server RUN mkdir -p \ tmp/cache/models \ tmp/cache/persistent \ && chown -R :www-data \ tmp \ && chmod -R 770 \ tmp # Enable Apache modules and restart RUN a2enmod rewrite \ && service apache2 restart EXPOSE 80
site.conf
<VirtualHost *:80> DocumentRoot /var/www/html/app/webroot/ <Directory /var/www/html/app/webroot/> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
docker-compose.yml
version: "3" services: app: build: context: . dockerfile: docker/Dockerfile volumes: - .:/var/www/html ports: - 8111:80 environment: TZ: "Asia/Tokyo" depends_on: - db db: image: mysql:5 volumes: - db-data:/var/lib/mysql ports: - "3309:3306" # 3306ポートにするとローカルのMySQLと被るのでポートをずらす。 environment: MYSQL_DATABASE: cakephp_db MYSQL_ROOT_PASSWORD: root_password mailhog: image: mailhog/mailhog ports: - "8025:8025" - "1025:1025" volumes: db-data: external: false
database.php 一部掲載
public $default = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'db', 'login' => 'root', 'password' => 'root_password', 'database' => 'cakephp_db', 'prefix' => '', 'encoding' => 'utf8', );
上記の内容でwindowsではうまくいくのですが、Macではエラーが出ました。
コンテナは全てupになっています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。