MinEMemO

【Docker】【260607】#3 Laravel開発 Windows環境の改行コードの対応

📝 更新日:2026-06-11 / 📄 作成日:2026-06-11
Hero Image
目次

はじめに

今回はPJ直下にdocker系のファイル、src配下にLaravelファイルがありました。

コンテナで開いたタイミングでdocker系のファイルに予期せぬ改行コードの変換更新が入ることがあったので以下の対応を行いました。

環境想定

  • Nginx 1.30.2 Stable
  • PHP 8.5.6 最新
  • Composer:2.10.1 LTS
  • Laravel 13.14.0 最新
  • MySQL 8.4.9 LTS
  • Git 最新

※バージョンは安全のため固定します
※26/06時点

フォルダ構造

以下のような構造でローカルに作業フォルダ、ファイルを作成します

Laravel13_sample
├─ docker
│  ├─ mysql
│  │  └─ my.cnf
│  ├─ nginx
│  │  └─ default.conf
│  └─ php
│     ├─ Dockerfile
│     └─ php.ini
├─ src
├─ docker-compose.yml

※srcにLaravelが入る
※Docker環境の var/www 内に丸ごとこれを格納し開発を進める
(.gitがここのあるのでDocker、Laravel丸ごと状態管理するため)

Git管理するテキストファイルの改行コードをLFで管理する

PJの直下に .gitattributes を作成


# Git管理するテキストファイルの改行コードをLFで管理する
#
# text=auto:テキスト or バイナリを判断して、テキストなら改行コードを変換する
# eol=lf:改行コードをLFで管理する
#
# PJ直下のDockerファイルの改行コードもLFで管理するため追加した
#(コンテナ内で予期せぬ更新が発生するときがあった。Windows環境の問題(CRLF))
* text=auto eol=lf

Git自体の改行コードの変換設定を input に変更

設定方法

ローカルのGitで以下のコマンドを実行

git config --global core.autocrlf input

変更後の確認方法

これで確認し、inputになってればOK

git config --global core.autocrlf

補足

※ローカルのGitが対象
※コンテナ内は通常LF環境のため、core.autocrlfの設定は不要
※Laravel・Docker開発ではLFで統一する方が扱いやすい

VS CODEの改行コードもLFで制御しておく

これは念のためレベルだと思います。
PJの直下に「.vscode/settings.json」を作成する


{ 
  "files.eol": "\n" 
}

さいごに

Windows環境よくわからないことおこるので、Linux環境(MacやLinux OS)が好まれるんですね・・
profile_icon
taka
プログラマー
2017年11月から業務でPHPを触りだしたエンジニアです。 業務経験8年程度。 2022年から「要求整理→設計→実装→テスト→リリース」と開発のステップをきちんと経験したく、 転職を始めましたが、なかなか思う通りには・・・いっていません。 現職が自社案件枯渇、本社エリア以外のSES案件の繋がりがなしと急に発覚し、 26/05から急遽強制的に転職活動中。 現職をやめるつもりはなかったし、転職は本当に最後にしたいのでもしよければお声がけください。 参画したPJ、エンジニアとしての経験をまとめたGitHubリポジトリもあります。 https://github.com/tm-qc/project-experience