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

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

ただいまの
回答率

88.92%

dockerコンテナ上で「403 Forbidden」 ページアクセスできない

受付中

回答 0

投稿

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

plus-nine

score 9

dockerコンテナを起動後、ページアクセスするも「403 Forbidden」と表示されます。権限などの問題かと思いますが、何が原因なのかをご教示いただければと思います。

docker-compose.yml

version: '3' 
services:
  web:
   image: nginx:1.15.6 
   ports:
    - "8000:80" 
   depends_on:
    - app 
   volumes:
    - ./docker/web/default.conf:/etc/nginx/conf.d/default.conf
    - .:/var/www/html 
  app:
   build: ./docker/php 
   volumes:
    - .:/var/www/html 
   depends_on:
    - mysql 
  mysql:
   image: mysql:5.7 
   environment: 
    MYSQL_DATABASE: ****
    MYSQL_USER: root
    MYSQL_PASSWORD: ****
    MYSQL_ROOT_PASSWORD: ****
   ports:
    - "3306:3306"
   volumes: 
    - mysql-data:/var/lib/mysql
volumes: 
  mysql-data: 

Docker.file

FROM php:7.2-fpm

# install composer
RUN cd /usr/bin && curl -s http://getcomposer.org/installer| php && ls -s /usr/bin/composer.phar
RUN apt-get update \
&& apt-get install -y \
git \
zip \
unzip \
vim

RUN apt-get update \
    && apt-get install -y libpq-dev \
    && docker-php-ext-install pdo_mysql pdo_pgsql mysqli

WORKDIR /var/www/html

default.conf

server {

    listen 80;
    root /var/www/html/;
    index index.php index.html index.htm;

    access_log /var/log/nginx/access.log;
    error_log  /var/log/nginx/error.log;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass  app:9000;
        fastcgi_index index.php;

        include       fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

コンテナ起動確認

d14940a5fd4e        mysql:5.7           "docker-entrypoint.s…"   4 days ago          Up 37 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp   workspace_mysql_1
7a5f38dc7a5f        nginx:1.15.6        "nginx -g 'daemon of…"   4 days ago          Up 37 minutes       0.0.0.0:8000->80/tcp                workspace_web_1
a5aea63e4d25        workspace_app       "docker-php-entrypoi…"   4 days ago          Up 37 minutes       9000/tcp                            workspace_app_1

localhost:8000 にてアクセス
イメージ説明

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

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

  • yukky1201

    2020/07/14 15:10

    何か起きたときはまずログを確認です。nginxのアクセスログとエラーログに情報があるはずなので質問に追記してください。

    キャンセル

  • plus-nine

    2020/07/14 17:36

    申し訳ございません。nginxのアクセスログとエラーログに情報がある旨についても理解できていないのですが、確認方法についてもご教示いただけますでしょうか。

    キャンセル

  • yukky1201

    2020/07/14 17:37 編集

    該当のオペレーションをしたときのログをそのまま貼ってください。

    キャンセル

  • yurak

    2020/08/04 01:02

    期待値は何でしょうか。nginx.confをみる限り想定通りの挙動をしていると思います。
    index.phpを表示したいのであれば、http://localhost:8000/index.phpにアクセスしてみてください。

    キャンセル

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

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

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

関連した質問

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