カテゴリー
サインイン 新規登録

間違いや改善の指摘

内容の技術的な誤り・誤字脱字やミスのご報告・解説やトピックの追記/改善のご要望は教材をさらに良くしていく上でとても貴重なご意見になります。

少しでも気になった点があれば、ご遠慮なく投稿いただけると幸いです🙏

実際には誤りではなく勘違いであっても、ご報告いただけることで教材のブラッシュアップにつながります。

質問ポリシー①

教材受講者みなさんのスムーズな問題解決のために、心がけていただきたいことがあります。

教材の内容に関する質問を投稿しましょう

教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。

その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。

0-4

Laradockによる開発環境構築(Mac編)

Laradockによる開発環境構築(Mac編)

このパートでは、Laradockをインストールして、Laravelを動かすための開発環境を作ります。

Laravelを動かす為には、Webサーバーや、多くの場合でデータベースが必要になってきます。

Laradockを使うことで、このWebサーバーやデータベースをDocker上に簡単に構築することができます。

1. Laradockのインストール

あなたのPCの任意のディレクトリの配下にci-tutorialディレクトリを作成してください。

Copied!
$ mkdir ci-tutorial

そして、ci-tutorialディレクトリに移動してください。

Copied!
$ cd ci-tutorial

ci-tutorialディレクトリに移動したら、以下のコマンドでlaradockをインストールしてください。

なお、2020年10月ごろからlaradockはエラーが発生するようになったので、本教材では筆者が用意した、laradockを模した環境(laradock-like)を使用します。

Copied!
$ git clone https://github.com/shonansurvivors/laradock-like.git laradock

Cloning into 'laradock'...と、数行のメッセージが表示されると思います。

完了すると、laradockというディレクトリが作成されます。

Copied!
. └──ci-tutorial └── laradock

2. laradockの.envファイルを作成する

次に、laradockの設定に関わるファイルのひとつである、.envファイルを作成します。

laradockは、.envファイルの雛形としてenv-exampleファイルを用意してくれているので、これを元に作成することにします。

以下を入力してください。

Copied!
$ cd laradock $ cp env-example .env

なお、.envのような.始まりのファイルはMacのFinderなどではデフォルトでは隠しファイル扱いとなり、ファイルが存在していてもファイル一覧などに表示されません。AtomやVSCodeなどのエディタでは表示されますので、そちらで確認してください。

3. laradockの.envファイルを編集する

次にエディタ等を使って、.envファイルのうち、

  • APP_CODE_PATH_HOST
  • DATA_PATH_HOST
  • COMPOSE_PROJECT_NAME

の3箇所を以下の通り編集してください。

Copied!
. └──ci-tutorial └── laradock └── .env
laradock/.env
1234567
Copied!
APP_CODE_PATH_HOST=../laravel-ci #========== この行を変更 DATA_PATH_HOST=../data #========== この行を変更 COMPOSE_PROJECT_NAME=laravel-ci #========== この行を変更 # 略

4. Dockerを使って開発環境を起動する

次にDockerを使って開発環境を起動します。

laradockディレクトリで以下のコマンドを入力してください。

Copied!
$ docker-compose up -d workspace php-fpm nginx postgres

コマンドの意味は以下の通りです。

  • docker-composeは、複数のコンテナを同時に取り扱うDocker Composeという機能を使うためのコマンドです
  • upは、Docker Composeでコンテナを起動するときに使うコマンドです
  • -dは、コンテナを起動した後に、ターミナルの操作に戻るためのオプションです

コマンドを実行すると、大量のメッセージが表示されます。

初回は、各コンテナのソフトウェア本体(Dockerイメージ)をダウンロードしてくるため、コンテナの起動までに数分程度の時間がかかります。

最後に以下のメッセージが表示されたら、コンテナの起動は成功です。

Copied!
Creating laravel-ci_workspace_1 ... done Creating laravel-ci_php-fpm_1 ... done Creating laravel-ci_nginx_1 ... done Creating laravel-ci_porstgres_1 ... done

もし、この4つのメッセージが表示されなかったら、以下を試してください。

  • Error response from daemon: invalid mount config for type "bind": bind source path does not existといったメッセージが表示された場合

    • ci-cutorialディレクトリ配下に、空のlaravelディレクトリを作り、その上でもう一度laradockディレクトリでdocker-compose up -d workspace php-fpm nginx postgresを実施する
  • それ以外の場合

    • もう一度laradockディレクトリでdocker-compose up -d workspace php-fpm nginx postgresを実施する

以上で、Laradockの導入は完了です。

現在のパート (5)
全パート (80)
みんなで助け合おう!
現在のパートのディスカッション 全5件
0-4
中山遼太郎 2021-08-30
laravel-snsディレクトリ について

講座に記載のエラーに遭遇しました。

laravel-sns ディレクトリはlaradock ディレクトリに作れば良いのでしょうか?

laravel-sns ディレクトリはまだ作成していないと思うのですが作成場所が明記されていなかったので質問です。

エラー文

Copied!
Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /Users/ryotaro/desktop/program_study/ci-tutorial/laravel-ci

laravel-ci ディレクトリを作成するとうまくいきました。

しかし次の章では、下記コマンドでlaravel-ci ディレクトリを作成しています。
どうすれば良いでしょうか??

Copied!
$ git clone -b laravel-ci https://github.com/shonansurvivors/laravel-sns laravel-ci
0-4
peekaboo 2020-08-09
5. Dockerを使って開発環境を起動する

発生している問題

docker-compose up -d workspace php-fpm nginx postgres
を実行した後に特定の場所で停止してしまう。

エラー画面

error.png

試したこと

Ubuntu 18.04でのエラー再現記事があったのでvagrant上にこちらの環境を作り、試しましたが、全く同じところで止まりました。

https://stackoverflow.com/questions/60104415/error-building-new-workspace-using-docker-compose-when-running-apt-get-update

補足情報(フレームワークのバージョン・OS)

Mac OS
Docker version 19.03.12
docker-compose version 1.26.2

こちら、解決方法がございましたらご教示いただけますと幸いに存じます。

0-4
Hidetin 2020-06-18
質問です

#環境はmacです。

#発生している問題
Recreating laravel-ci_nginx_1
だけ、"error"となってしまう。

$ docker-compose up -d workspace php-fpm nginx postgres
を、実行したところ

エラー文には、ERROR: for laravel-ci_nginx_1 UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
と、あったので、タイムアウトが原因だったのかと思い、
$ COMPOSE_HTTP_TIMEOUT=240 docker-compose up
を打ち込みタイムアウトまでの時間を延長しようと試みたのですが、
Building perconaの行程で再びエラー文
ERROR: Service 'percona' failed to build: error pulling image configuration: unexpected EOF
と、表示されてしまいました。
EOFという概念を知らなかったので、ここでよく分からなくなってしまいました...。

どうやら、laravel-ci_nginx_1 を構築中にエラーが生じてしまっていることは間違い無いです。
そして、ポートは割り振られていません。

どうか、ご教示いただけましたら幸いです。
何卒よろしくお願い致します。

0-4
Joji 2020-06-12
質問です

#環境はMacです。

発生している問題

Nginxでエラーが発生して、起動できない。

こちらが、「docker logs 892edbd6d3f6」の結果です。
892edbd6d3f6は、laravel-ci_nginxです。
初回にやった時は起動したのですが、2回目にやったらエラーが出ました。

2020/06/13 06:56:10 [error] 11#11: *2 FastCGI sent in stderr: "PHP message: PHP Warning: require(/var/www/public/../vendor/autoload.php): failed to open stream: No such file or directory in /var/www/public/index.php on line 24PHP message: PHP Fatal error: require(): Failed opening required '/var/www/public/../vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/www/public/index.php on line 24" while reading response header from upstream, client: 172.26.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://172.26.0.5:9000", host: "localhost"
172.26.0.1 - - [13/Jun/2020:06:56:10 +0000] "GET / HTTP/1.1" 500 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36"

0-4
田中 遥介 2020-05-23
質問です

質問させてください。
下記コマンドを実行し、ブラウザでlocalhostで試してみたところ
下記エラー画面へ遷移されました。

確認点としてアドバイスいただけたらと思います。

このページは動作していませんlocalhost からデータが送信されませんでした。
ERR_EMPTY_RESPONSE

docker-compose up -d workspace php-fpm nginx postgres

image