投稿者: oki2a24
やりたいこと
今まで、 docker-compose up -d
後に、コンテナと共有したディレクトリをコンテナ内で chown を実行して所有グループ・所有者を変更していました。
これが面倒で、時々忘れてしまいますので、なんとか楽にできないだろうかと思いました。
作業を進めるにあたって、そして問題を解決するにあたって参照したもの
BootCamp パーティションを、 macOSユーティリティからパーティション内部を削除したのが問題か? と疑いましたけれども、最終的には macOSユーティリティそのものを削除してしまったことが原因だったようです。
解決方法
- 基本的には公式ページのとおりでよい。しかし、公式ページのアップデートが追いついていないことはある。
- 「Apple サポート」をApp Storeで アプリから、問題解決するためにサポートから電話してもらうことができる。問題の内容を入力し、電話してもらう日時を予約するだけ。おそらく AppleCare が必要。 -> 製品の保証状況とサービス期間を確認する – Apple サポート
- トラブルに備えて、 Wi-Fi でインターネットにつながる環境を用意 しておく。ウェブページでの認証が必要なフリーな回線では難しいと思う。
- macOSユーティリティで Mac のディスクを消去すると、 macOSユーティリティも削除されてしまうのか、使用できなくなった、
- macOSユーティリティが起動できない場合は、 Mac の電源を入れて、その直後に option + command (⌘) + R を組み合わせて押し続ける。回転する地球儀とその下に Wi-Fi 選択が表示される。 Wi-Fi を選択してインターネットにつながるようになれば、 macOSユーティリティがインストールされ、使えるようになった。
- macOSユーティリティを起動するには何種類か方法があるので、うまくいかない場合は順に試していくと良いと思う。
まとめ
- 公式の案内、 zsh を Mac のデフォルトシェルとして使う – Apple サポート を試す。
- シェル確認
echo $SHELL
は、 tmux を起動していない状態で試すこと!
まとめ
- Laravel のコードを Docker コンテナにコピーする。
- Docker のログへ Laravel のログを出力するようにする。
- Docker コンテナ起動時の環境変数設定で、 Laravel の設定を行えるようにする。
- 依存パッケージのリストのコピーとインストール部分をそれぞれ独立させることで、キャッシュされた Docker レイヤーを使えるようにする。
- ビルドして生成したもののみをコンテナに含めるようにする。
- タイムゾーン、 PHP 、 Apache 等の Laravel 以外の設定を行う。
今回やること
- npm install で追加する依存パッケージを、 Docker ビルド時のキャッシュにする
- npm run production で生成したファイルをコンテナに含める。
今回やること
- DB 設定
- データベース URL で接続するデータベースを指定できるようにする。環境変数で指定できるようにする。
- データベース URL の指定がない場合は、コンテナ内の SQLite を使用するようにする。
- Laravel 6 を Docker 化する。その5 – oki2a24 の続きです。
注意点
- libpq-dev を事前にインストールし、それから
docker-php-ext-install pdo_pgsql
を行うこと。
まとめ
- URLを使用したデータベース設定 データベース:利用開始 6.0 Laravel
- DB_CONNECTION は指定した方が無難。指定しなくとも SQLite へ接続できたが、 DB_CONNECTION はデフォルト (特に設定ファイルを編集していない場合は mysql となる) となる。
- SQLite の場合のデータベース URL のスキーマ:
driver:///database?options
。具体的な例:sqlite:////absolute/path/to/database.sqlite?foreign_key_constraints=true
今回やること
- mod_rewrites の設定
- Laravel 6 を Docker 化する。その4 – oki2a24 の続きです。