チームの事情でDockerでLaravelの開発環境を構築する必要があり、初心者ではありますが色々見ながら行っています。
ただ、
docker-compose up
の際に、
'/etc/apache2/mods-available/rewrite.load': No such file or directory
というエラーが出てしまい、コンテナを起動することができません。
(何回かトライすると起動できるという不思議さ・・・)
以下、docker-compose.ymlファイルです。(Dockerfileの中身も全てこちらに記載しています)
■docker-compose.yml
# Compose fileのバージョン指定 version: '3' # どんなコンテナを立ち上げるか services: # laravelを動かすコンテナ app: image: php:7.4-apache # どのポートを開いて繋ぐか。下記はコンテナの80番ポートを開いて、ホストの8000番につなぐ ports: - "80:80" # 先ほど作ったDockerfileを使って、コンテナをビルドするという指定 #build: ./docker/app # コンテナの名前を指定 container_name: altouch_app # コンテナとホスト側のディレクトリを同期する場所の指定。laravelのソースが入る予定の場所 volumes: - ./src:/var/www/html - ./php/php.ini:/usr/local/etc/php/php.ini - ./apache/000-default.conf:/etc/apache2/sites-enabled/000-default.conf command: > bash -c " apt-get update && apt-get install -y git-all sudo unzip wget gnupg curl default-mysql-client && curl -sL https://deb.nodesource.com/setup_15.x | bash - && apt-get install -y nodejs && apt-get update && npm install npm@latest -g && docker-php-ext-install pdo_mysql && wget https://getcomposer.org/composer-stable.phar && mv composer-stable.phar* /usr/local/bin/composer && sudo chmod 755 /usr/local/bin/composer && composer global require laravel/installer && mv /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled && /bin/sh -c a2enmod rewrite && apachectl -D FOREGROUND " # MySQLを動かすコンテナ db: # Docker HubからMySQL5.7の公式イメージをダウンロードしてくる指定 image: mysql:5.7 container_name: altouch_db # コンテナ内の環境変数を指定。環境変数を渡すとビルド時に設定してくれるDockerイメージがあるので、利用の際はDocker Hubのサイトで確認すると良い environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: altouch_db MYSQL_USER: altouch_user MYSQL_PASSWORD: altouch_pass TZ: 'Asia/Tokyo' # 起動時のコマンド command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci # ディレクトリ同期。設定ファイルとMySQLのデータが保存される場所を同期している。コンテナは基本的に起動時に変更されてもコンテナ自体が止まるとデータが消えてしまうため、保存しておきたいものはホストマシンと同期しておく必要がある。 volumes: - ./db/data:/var/lib/mysql - ./db/my.cnf:/etc/mysql/conf.d/my.cnf ports: - 3306:3306
mod-rewiteをしないと、トップページ以外がNotFoundになってしまうため、
commandでmod-rewiteを入れています。
アドバイスをいただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/19 08:36