ポイント
- debian:bullseye-slim イメージをベースにした。
- Supervisor 4 が対象
- ログ出力に関して権限を修正する必要があった。
- ソケットに関する権限不足に対処する必要があった。
kr pair
を実行する。
Already paired, unpair current session? [y/N]
と尋ねられるので y
と答えて既存のペアリング状態を解除する。Public key for github.com does not match pinned key. If the host key has actually changed, remove the pinned key in Krypton.
への対応は、スマートフォンアプリにある Known Hosts を削除すればよい。
{ }
のタブ) の "Edit Known Hosts" から "Known Hosts" ページへアクセスし、 github.com 項目をスワイプして削除する。DL3008 · hadolint/hadolint Wiki · GitHub
Docker イメージにパッケージをインストールするときに、バージョンが決め手になることは全然ないのですが、それだと hadolint が警告を出してきました。
無視したり、警告を抑制しても良いのですけれども、パッケージのバージョンをできるだけ細かく指定するべき、というのは、まあそうだよね、と思いましたので対応することにいたしました。
unzip
、および libpq-dev
にバージョンを指定していないので、これらを例に取り上げます。もともと、この警告に対応してバージョンを明記していたのですけれども、久しぶりに Docker イメージのビルドを行ったところ、そんなバージョンは無い、と言われてしまったので、今回の投稿に繋がった背景もあります。そもそも、このようなケースの場合、バージョン指定などしなくてもよさそうな気もします。。。
このうち、最初の手順である、 Docker イメージへの問題となるバージョン未設定パッケージのインストールは完了しているところから始まります。
環境
npm run prod
の場合は、静的ファイルを書き出してそのファイルへのリンクを HTML ファイルへ埋め込むようになっています。よって、ビルドされたファイルへのリンクは Laravel へアクセスするときの Apache なり Nginx なり PHP ビルトインサーバなりの URL と同じ URL が埋め込まれ、この URL でアクセスできるため問題はありません。
一方で、 npm run dev
の場合は、 Vite の開発サーバが別途立ち上がります。そして Vite でビルドされたファイルへアクセスするための埋め込みリンクは、 Vite の開発サーバの URL となります。
Docker を使う場合、 Docker ホスト側から Docker コンテナ内の Vite 開発サーバへどうやってアクセスするのかが、問題になりました。
例えば、カスタマイズしていない vite.config.js
で npm run dev
すると次のようになります。
http://localhost/
にアクセスすると画面真っ白になった。<script type="module" src="http://127.0.0.1:5173/resources/js/app.js"></script>
となっていた。この URL にアクセスしてみても ERR_CONNECTION_REFUSED のエラーページとなった。今回、これを解決しましたのでメモいたします。
# サーバ証明書 (および秘密鍵) の作成
openssl req -x509 -newkey rsa:2048 -nodes -days 3650 \
-keyout private_key.pem \
-out certificate.pem \
-config - <<EOF
[req]
distinguished_name = req_distinguished_name
x509_extensions = usr_cert
prompt = no
[req_distinguished_name]
C = JP
O = oki2a24.com
OU = MyDivision
CN = localhost
[usr_cert]
basicConstraints = critical, CA:FALSE
subjectAltName = DNS:localhost
EOF
# サーバ証明書の確認
openssl x509 -text -noout -in certificate.pem
使用したバージョン
root@495db3743f1d:/var/www/html# openssl version
OpenSSL 1.1.1n 15 Mar 2022
root@495db3743f1d:/var/www/html#
composer update nunomaduro/larastan:^1.0 --dev
でアップデートしたところ、 Laravel インストールして生成された無編集のソースコードでエラーが発生した、https://github.com/laravel/laravel/blob/8.x/app
から最新ソースコードを適用することで解決したエラーもあった。/** @var \App\Models\User $this */
と書く。$this
に紐づければ良いようだ。/** @mixin \App\Models\User */
と書く。Bootstrap Icons · Bootstrap 向けのオープンソース SVG アイコンライブラリ のページを見ると、インストールと使い方は書いてあるものの、それだけでは足りず、調べなければうまく使うことができませんでした。
ですので、調べた内容を、走り書き程度ですが、メモいたします。
@popperjs/core
bootstrap
resolve-url-loader
sass
sass-loader
laravel/webpack.mix.js
に npm build 時の Bootstrap 5 の SASS の設定を追加laravel/resources/js/bootstrap.js
に Bootstrap 5 の読み込を追加laravel/resources/sass/app.scss
ファイルを追加し、 Bootstrap 5 の SASS を読み込む。laravel/resources/sass/_variables.scss
ファイルを追加した。 Bootstrap 5 をカスタマイズする時の内容を書くためのファイル