
前提
現在、EC2上でDockerで以下のコンテナを立ち上げた状態です。
以下、ディレクトリ構造
セキュリティグループは以下の設定になっています。
問題
実現したいこと
webブラウザ上からアクセスしindex.htmlを表示するというのが実現したいことになります。
私としてはipアドレス+8081でアクセスすればindex.htmlが表示されるというのが現状の認識です。
Docker・AWSに関して知識不足な部分がありますので知識がある方、ご教授頂ければ幸いです。
また、記載情報に抜け漏れがあった場合はコメント頂ければと思います。
該当のソースコード
docker-compose.yml
yml
1version: "3.9" 2 3services: 4 app: 5 build: 6 context: . 7 dockerfile: ./docker/app/Dockerfile 8 volumes: 9 - ./src/:/app 10 web: 11 build: 12 context: . 13 dockerfile: ./docker/web/Dockerfile 14 ports: 15 - 8081:80 16 depends_on: 17 - app 18 volumes: 19 - ./src/:/app 20 21 db: 22 build: 23 context: . 24 dockerfile: ./docker/db/Dockerfile 25 ports: 26 - 3306:3306 27 environment: 28 MYSQL_DATABASE: database 29 MYSQL_USER: user 30 MYSQL_PASSWORD: password 31 MYSQL_ROOT_PASSWORD: password 32 TZ: 'Asia/Tokyo' 33 volumes: 34 - mysql-volume:/var/lib/mysql 35 36volumes: 37 mysql-volume: 38 39
appコンテナのDockerfile
Dockerfile
1FROM php:8.0-fpm 2EXPOSE 8081 3 4ENV TZ Asia/Tokyo 5 6RUN apt-get update && \ 7 apt-get install -y git unzip libzip-dev libicu-dev libonig-dev && \ 8 docker-php-ext-install intl pdo_mysql zip bcmath 9 10RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \ 11 apt-get install -y nodejs 12 13COPY ./docker/app/php.ini /usr/local/etc/php/php.ini 14 15COPY --from=composer:2.0 /usr/bin/composer /usr/bin/composer 16 17RUN mkdir /app 18 19WORKDIR /app 20 21# Laravel プロジェクトを作成する 22RUN composer create-project --prefer-dist laravel/laravel . 23 24# 所有者変更 25RUN chown www-data:www-data ./storage/ -R 26 27
webコンテナのDockerfile
Dockerfile
1FROM nginx:1.20-alpine 2 3ENV TZ Asia/Tokyo 4 5COPY ./docker/web/default.conf /etc/nginx/conf.d/default.conf 6
default.conf
conf
1server { 2 listen 80; 3 server_name example.com; 4 root /app/public; 5 6 add_header X-Frame-Options "SAMEORIGIN"; 7 add_header X-XSS-Protection "1; mode=block"; 8 add_header X-Content-Type-Options "nosniff"; 9 10 index index.php; 11 12 charset utf-8; 13 14 location / { 15 try_files $uri $uri/ /index.php?$query_string; 16 } 17 18 location = /favicon.ico { access_log off; log_not_found off; } 19 location = /robots.txt { access_log off; log_not_found off; } 20 21 error_page 404 /index.php; 22 23 location ~ \.php$ { 24 fastcgi_pass app:9000; 25 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 26 include fastcgi_params; 27 } 28 29 location ~ /\.(?!well-known).* { 30 deny all; 31 } 32} 33
補足情報(FW/ツールのバージョンなど)
Docker version 20.10.17
回答1件
あなたの回答
tips
プレビュー