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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

IDE

IDE、統合開発環境((Integrated Development Environment)とは、テキストエディタ以上の機能を提供して、ソフトウェア開発を効率をあげるコンピュータプログラムを指す。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1391閲覧

AWS Cloud9のLaravelアプリが起動されない問題

keijiokita

総合スコア11

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

IDE

IDE、統合開発環境((Integrated Development Environment)とは、テキストエディタ以上の機能を提供して、ソフトウェア開発を効率をあげるコンピュータプログラムを指す。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/01/15 11:02

編集2020/01/15 11:32

AWS Cloud9内で作成した、Laravelアプリが上手く実行されません。

cloud9でamazon linuxをEC2インスタンスで使用し、dockerでlaravelの環境構築を行いました。
dockerに関しては初心者です。
フォルダ構成:
ec2-user
├── node_modules
├── package-lock.json
└── environment
├── README.md
├── laradock
└── project
├ docker-compose.yml
├ docker
│  ├ php
│  │  ├ php.ini
│  │  └ Dockerfile
│  └ nginx
│    └ default.conf
└ server(ここにLaravelアプリ作成)

docker-compose.yml

FROM php:7.2-fpm COPY php.ini /usr/local/etc/php/ RUN apt-get update \ && apt-get install -y zlib1g-dev mariadb-client \ && docker-php-ext-install zip pdo_mysql #Composer install RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" RUN php -r "if (hash_file('sha384', 'composer-setup.php') === 'c5b9b6d368201a9db6f74e2611495f369991b72d9c8cbd3ffbc63edff210eb73d46ffbfce88669ad33695ef77dc76976') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" RUN php composer-setup.php RUN php -r "unlink('composer-setup.php');" RUN mv composer.phar /usr/local/bin/composer ENV COMPOSER_ALLOW_SUPERUSER 1 ENV COMPOSER_HOME /composer ENV PATH $PATH:/composer/vendor/bin WORKDIR /var/www RUN composer global require "laravel/installer"

docker-compose.yml

version: '3' services: php: container_name: php build: ./docker/php volumes: - ./server:/var/www nginx: image: nginx container_name: nginx ports: - 80:80 volumes: - ./server:/var/www - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf depends_on: - php db: image: mysql:5.7 container_name: db-host environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: database MYSQL_USER: docker MYSQL_PASSWORD: docker TZ: 'Asia/Tokyo' command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci volumes: - ./docker/db/data:/var/lib/mysql - ./docker/db/my.cnf:/etc/mysql/conf.d/my.cnf - ./docker/db/sql:/docker-entrypoint-initdb.d ports: - 3306:3306
docker-compose exec php bash #PHPコンテナに入った後
root@b349df799f53:/var/www# php artisan serve --port=8080

 でLaravelアプリを立ち上げようとしたのですが、エラーになってしまいます。

Laravelアプリが起動されない理由は何が考えられますでしょうか?
皆様のご教示宜しくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu_1985

2020/01/15 11:18

docker-compose.yml Dockerfile の内容はどうなってますか また、なぜdocker-compose upではなく、docker-compose execでphpのコンテナのbashを起動しているんでしょう?
keijiokita

2020/01/15 11:31

先ほどの質問箇所に、docker-compose.ymlとDockerfileの内容を記載させて頂きました。docker初心者であることを記載するのを失念しておりました。docker-compose execで、phpのコンテナのbashを起動していることに理由はなく、ネットで探した情報に従って、こちらの方法で起動しました。
yu_1985

2020/01/17 04:19

php artisan serve --port=8080 がエラーになるのか、それとも実行後に接続したらエラーになるのかどちらでしょう。 スクリーンショットの貼り方を見る限り後者に思えますが…。
keijiokita

2020/01/17 14:55 編集

実行後に接続したらエラーになります。 Laravel development server started: http://127.0.0.1:8080 このように表示は出ております。
keijiokita

2020/01/20 18:23

補足となりますが、上記と同じ手順をローカル上のMacで行い、http://localhostでアクセスしたところ、問題なくChromeでLaravelアプリが立ち上がり表示されているのを確認できました。問題は、Cloud9上でのプレビューで上手く表示されない事だと判明しました。
yu_1985

2020/01/21 04:13

Cloud9のプレビューはあくまで指定したファイルを簡易的に確認するための機能みたいですが、どうやらそちらだとうまく確認できないようです。(うまくやる方法はあるかもしれませんが、正直Cloud9でそこまでしようというモチベーションが起きません…) プレビューの仕様をあまりよく理解してないのでなぜなのかは説明できませんが…。 下記を見る限り、仮想的にCloud9のlocalhostを見に行ってるんでしょうか? https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/app-preview.html#app-preview-preview-app docker-compose up -d 実行後に確認したければCloud9を動かしているインスタンスのパブリックIPを確認してそれを使ってアクセスしてみてください。 もちろんセキュリティグループでhttpを許可するのを忘れずに。 ところで、同じ手順というのは「Dockerコンテナ内でphp artisan serve --port=8080を実行」でしょうか。 そうするとDockerコンテナ内の8080番ポートにうまくアクセスできないような気がします。 Dockerコンテナの外で、serverディレクトリ上でphp artisan serve --port=8080を実行した上でプレビューすればうまくいくような気がするのですがどうでしょう。 それがやりたいことかはわかりませんが…。 正直、ここまでしてCloud9でやるぐらいならローカルでやるかEC2サーバを立ててそこに乗せて普通に確認したほうが早い気がします。
keijiokita

2020/01/21 04:24

ご丁寧なご説明有難うございます。 Cloud9のプレビューは、Cloud9のlocalhostを見に行っておりましたが、一旦断念しました。 おっしゃっていただいた通り、EC2インスタンスに、chromeからhttp通信でパブリックIPアドレスにアクセスしたところ、閲覧することが出来ました。 丁寧に教えて頂き、本当に感謝しております。 有難うございました!
guest

回答1

0

ベストアンサー

設定が合っていれば
docker-compose up -d
でコンテナを起動したあとにlocalhostにhttpで接続すればLaravelのサンプルが表示されませんか?
そもそも、そのdocker-compose.ymlだとコンテナの8080番ポートにアクセスする術がないのでそこで中で何を起動しててもアクセスできないと思います。

コンテナの8080番ポートにアクセスできる設定を入れればnginx経由じゃなくてもアクセスできるかなと思いましたが、ちょっとそこはうまく行かなかったのでそこの部分については申し訳ないですが割愛します…。

投稿2020/01/18 12:56

yu_1985

総合スコア7427

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

keijiokita

2020/01/18 16:31

docker-compose up -dでコンテナを起動は問題なかったのですが、AWS cloud9の知識も乏しいため、調べたのですが、Cloud9でlocalhostにhttpで接続する方法がわかりませんでした。お手数ですが、詳細を教えて頂けますでしょうか?
yu_1985

2020/01/18 18:56

localhostとはネットワークにおいて自分自身を指します。 なので、Cloud9のエンドポイントにhttpで接続すればOKです。 > Cloud9でlocalhostにhttpで接続する方法 という言い方ならcurlでもなんでもいいのでlocalhostにリクエストを投げるだけです。 まあ、おそらくそういう意図ではないかと思いますけど。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問