s_kajigo
@s_kajigo (kaji shogo)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

dockerfileに記載したローカルにあるファイルが表示できない。

ポートフォリオ作成に向けて環境構築のため書籍を利用してdockerを触り始めました。
dockerfileでapacheをベースにCOPYでローカルのhtmlファイルをコピーして表示させたいのですがFrbbiden You don't have permission to access this resource.
と表示されてうまくいきません。

ファイルの構成は、
Documents/
    sample/
       index.html
       Dockerfile
としています。

Dockerfileには
FROM httpd
COPY index.html /usr/local/apache2/htdocs/
のみ記載しました。

ターミナルを開いてsampleに移動し

docker build -t testimage /Users/ユーザー名/Documents/sample/
docker run --name apa000ex1 -dit -p 8080:80 testimage

を実行してlocalhost:8080にアクセスするとForbbidenと表示されてしまいます。
ファイルの場所やtypoがないか確認しましたが特になく、詰まってしまっています。

初歩的な質問かと思いますが、ご教授いただけると幸いです。

0

2Answer

Comments

  1. @s_kajigo

    Questioner

    回答ありがとうございます。
    ドキュメントを参考にpublic-htmlフォルダをsampleディレクトリ内に作成し、htmlファイルをしまってドキュメント通りにコマンド入力しましたが同じ結果でした。

エラーの原因として、ファイルの実体が無かったり、パーミッションが違ったりが多いかと思います!

コンテナの中に入ってみて、ファイルの実体が存在するか確認してみたらどうでしょうか。
(権限あたりも含めて)

# コンテナに入るコマンド
$ docker container exec -it apa000ex1 bash

# コンテナ内
root@2ea7f2714860:/usr/local/apache2# cd htdocs
root@2ea7f2714860:/usr/local/apache2/htdocs# ls -l
total 4
-rw-r--r-- 1 root root 6 Aug 13 18:32 index.html
1Like

Comments

  1. @s_kajigo

    Questioner

    ありがとうございます!
    コンテナ内を確認したところ権限の問題そうでした!
    記載いただいた例の中の-rw-r--r-- の部分が、-rw-------となっていまして、権限を付与する方法模索中です...
    もう少し調べて頑張ってみます!

Your answer might help someone💌