lycheejam's tech log

チラ裏のメモ帳 | プログラミングは苦手、インフラが得意なつもり。

Docker

dockerのmysqldbからテーブル毎のmysqldump&リストア

概要 ローカル環境にて稼働するDockerのDB(MySQL)から全テーブル、全データのdumpを取得するシェルと 取得したdumpデータを全リストアするシェルです。 シェルを1本したためてコンテナに配置すればいいものを、 dockerコマンドのワンライナーで書いてしま…

Xdebugのvar_display_max_XXXが設定変更されない

概要 Xdebugを使用したPHPのデバッグをする際にvar_dumpの内容をすべて表示するために var_display_max_XXXの設定をする必要がありますがVSCode + Xdebugでのリモートデバッグだと 設定が反映されず詰まったのでメモです。 Dockerを使用したPHP-FPM + nginx…

Xdebugでデバッグしていると504 Timeoutエラーとなる

概要 Dockerを使用したNginx + PHP-FPMの環境でXdebug + VSCodeでデバッグしていると いつの間にか504 Timeoutエラーになってしまったのでその回避策メモです。 目次 概要 目次 参考サイト様 環境 事象 原因 対策 nginx.confを編集 雑感 参考サイト様 debugg…

docker-compose.ymlで.envファイルに定義した環境変数を使う

概要 Docker Composeのdocker-compose.yml内に設定値を直接書き込むのではなく別ファイルで環境変数を定義し、その定義した値を使用してコンテナを作成します。 先日、Docker Composeを使用したPHPの環境構築の流れでMySQLを使用したDBサーバ(コンテナ?)…

PHP 7 + MySQLでPDOを使用するとcould not found driverエラーが発生する

概要 Docker Composeで作成したnginx + PHP-FPM + MySQLの環境でPDOを使ったコードを実行するとcould not found driverエラーが発生しました。 解決したのでメモです。 目次 概要 目次 参考サイト様 ソース 事象 コード エラー画面 原因 ドライバが未インス…

Docker Composeで使用するDockerfileの名前を変更する

概要 うまいことタイトルが思いつかなかったんですが任意の名前にファイル名を変更したDockerfileをdocker-compose.ymlで指定する方法です。 Docker Composeで環境を構築する際にDockerfileを任意のファイル名で運用したいなと思ったら方法があったのでその…

Docker ComposeでDB構築(MySQL 5.7)

概要 先日から続けているPHPの実行環境の下りでCRUDを実行したいのでDBサーバを構築します。 MySQLは5.7を使用してdocker-compose upでテーブル作成のSQLスクリプト流し込みまで行います。 DockerのMySQLイメージを使用したDBサーバの構築は過去にASP.NET Co…

VSCode + Docker + XdebugでPHPのデバッグ環境を構築

概要 前回、Docker(nginx + PHP-FPM)を使ってPHPの実行環境を構築しました。 基本構文を覚えたばかりなのでコード毎に動作を追いたいと思った次第です。 Docker(nginx + PHP-FPM + Xdebug)+ VisualStudio Codeでデバッグが行える環境を構築します。 前回…

Docker Composeを使ってnginxとPHP-FPMでPHPの実行環境を構築する

概要 PHPを触るにあたりローカルでPHPを使って開発できる環境が欲しかったのでDocker Composeを使ってnginx + PHP-FPMで実行環境を構築しました。 PHPやPHP-FPM、Dockerの知識不足で構築に結構時間がかかってしまったので忘れないよう記事にします。 PHPのロ…

Dockerで稼働するMySQLの文字コードを設定する話

概要 ASP.NET Core MVCを使用した簡単なことをTwitterにつぶやくモノを作っていて 開発環境のDBにDocker上で稼働するMySQLを使っています。 つぶやく際にTweet内容をDBに登録しており文字化けが発生してしまったのでMySQLの文字コードを変更して対応したメモ…

EF CoreとMySQLでField 'Id' doesn't have a default valueエラーが発生

概要 ASP.NET CoreでDocker上で稼働しているMySQLをいろいろこねくり回してるんですが タイトルのエラーが出て辛かったので対応手順のメモです。 また、本事象の回避自体はできましたが根本原因は別にありました。 本事象回避後、前回の記事のエラーが発生し…

EF CoreとMySQLでDuplicate entry '0' for key 'PRIMARY'エラーが発生

概要 .NET CoreでDocker上で稼働しているMySQLをいろいろこねくり回してるんですが タイトルのエラーが出て辛かったので対応手順のメモです。 関連ツイート INSERT INTO `AspNetUserClaims` (`ClaimType`, `ClaimValue`, `UserId`)VALUES (@p0, @p1, @p2);SE…

ASP.NET CoreからMySQLへCRUDするとNo coercion operator is defined between types 'System.Int16' and 'System.Boolean'エラーが発生する

概要 ASP.NET Core MVCテンプレートとMySQLの組み合わせで操作を実行すると何かしらDBに操作(CRUD)を加えた段階で No coercion operator is defined between types 'System.Int16' and 'System.Boolean'と言うエラーが発生しました。 その回避策のメモです…

Mac環境のASP.NET Core MVCでdocker上のMySQLを使用する

概要 MacでのASP.NET Core MVC開発環境構築のためDockerで稼働させたMySQLに接続し開発を行います。 Macからdotnet cliのテンプレートを使用してプロジェクトを作成するとデフォルトでSQLiteがプロジェクトに内包される形で作成されます。 諸事情があり当初W…