Windows荳翫〒Docker縺碁≦縺譎ゅョ蟇セ蜃ヲ豕
Windows縺ョ繝ュ繝シ繧ォ繝ォ迺ー蠅縺ォ髢狗匱迺ー蠅逕ィDocker繧呈ァ狗ッ峨@Laravel髢狗匱繧定ゥヲ縺ソ縺溘ョ縺ァ縺吶′縲√壹シ繧ク陦ィ遉コ縺ォ豈主屓シ慕ァ偵¥繧峨>縺九°縺」縺ヲ髱槫クク縺ォ驕縺
縺昴s縺ェ縺ッ縺壹↑縺縺繧阪≧縲∽ス輔°髢馴&縺医※縺繧九ョ縺ァ縺ッ縺ェ縺縺九→隱ソ縺ケ縺溘ョ縺後″縺」縺九¢
- 1. 蜴溷屏
- 2. Windows縺ァ Docker + Laravel 讒狗ッ画焔鬆
- 2.1. 蜑肴署
- 2.2. WSL2繧偵う繝ウ繧ケ繝医シ繝ォ
- 2.3. Docker Desktop縺ョ險ュ螳壼、画峩
- 2.4. 繧「繝励Μ繧ア繝シ繧キ繝ァ繝ウ繝励Ο繧ー繝ゥ繝繧旦buntu縺ョ鬆伜沺縺ォ驟咲スョ
- 2.5. laravel 繧、繝ウ繧ケ繝医シ繝ォ
- 2.6. 萓晏ュ倬未菫ゅョ繧、繝ウ繧ケ繝医シ繝ォ
- 2.7. npm 繧、繝ウ繧ケ繝医シ繝ォ
- 2.8. 繝代シ繝溘ャ繧キ繝ァ繝ウ縺ョ險ュ螳
- 2.8.1. 繝ヲ繝シ繧カID:1000縺ョ繧「繧ォ繧ヲ繝ウ繝医r菴懈
- 2.8.2. 謇譛芽縺ョ螟画峩
- 2.8.3. 繝励Ο繧ク繧ァ繧ッ繝医ヵ繧ゥ繝ォ繝閾ェ菴薙ョ謇譛芽縺ッroot縺ォ謌サ縺
- 2.8.4. 繝ュ繧ー繝輔ぃ繧、繝ォ縺ョ繝代シ繝溘ャ繧キ繝ァ繝ウ螟画峩
- 3. 菴懈・ュ荳ュ縺ォ驕ュ驕縺励◆蜷遞ョ繧ィ繝ゥ繝シ
- 3.1. sh: 1: vite: not found
- 3.2. Cannot find module @rollup/rollup-linux-x64-gnu
- 3.3. sh: 1: node: Permission denied
蜴溷屏
Docker繧淡SL2繝吶シ繧ケ縺ァ蜍輔°縺帙※縺翫i縺壹仝indows荳翫ョ繝輔ぃ繧、繝ォ繧鱈inux繝輔ぃ繧、繝ォ繝吶シ繧ケ縺ォ螟画鋤縺吶k髫帙ョ繧ェ繝シ繝舌シ繝倥ャ繝峨′蜴溷屏縺ァ縺励◆縲
Docker迺ー蠅讒狗ッ芽ィ倅コ九r繧ー繧ー繧翫↑縺後i騾イ繧√◆縺ョ縺ァ縺吶′縲∵ュ」縺励>諠蝣ア縺ァ遒コ隱阪☆繧九%縺ィ縺ッ螟ァ莠九〒縺吶ュ縲
WSL 2シWindows Subsystem for Linux 2シ峨ッ縲仝indows 10縺翫h縺ウWindows Server 2019縺ァ蛻ゥ逕ィ蜿ッ閭ス縺ェ讖溯ス縺ァ縺ゅj縲仝indows荳翫〒Linux繧ォ繝シ繝阪Ν繧貞ョ溯。後☆繧倶サョ諠ウ蛹匁橿陦薙〒縺吶ゅ%繧後↓繧医j縲仝indows繝帙せ繝井ク翫〒Linux繝舌う繝翫Μ繧繝繝シ繝ォ繧偵ロ繧、繝繧」繝悶↓螳溯。後〒縺阪∪縺吶
WSL 2縺ッ縲∽サ・蜑阪ョWSL繧医j繧ょ、ァ蟷縺ォ謾ケ蝟縺輔l縺溘ヱ繝輔か繝シ繝槭Φ繧ケ縺ィ莠呈鋤諤ァ繧呈署萓帙@縺セ縺吶ら音縺ォ縲.ocker縺ェ縺ゥ縺ョLinux繝吶シ繧ケ縺ョ髢狗匱繝繝シ繝ォ繧繧「繝励Μ繧ア繝シ繧キ繝ァ繝ウ繧淡indows荳翫〒螳溯。後☆繧句エ蜷医↓縲∝、ァ蟷縺ェ繝代ヵ繧ゥ繝シ繝槭Φ繧ケ蜷台ク翫′譛溷セ縺ァ縺阪∪縺吶
WSL 2縺ッ縲?yper-V縺ィ縺縺莉ョ諠ウ蛹悶励Λ繝繝医ヵ繧ゥ繝シ繝繧剃スソ逕ィ縺励※Linux繧ォ繝シ繝阪Ν繧偵帙せ繝医☆繧倶サョ諠ウ繝槭す繝ウ繧呈署萓帙@縺セ縺吶ゅ%繧後↓繧医j縲´inux縺ィWindows縺ョ髢薙〒縺ョ繝ェ繧ス繝シ繧ケ縺ョ蛻蜑イ繧逶ク莠帝°逕ィ諤ァ縺悟庄閭ス縺ォ縺ェ繧翫∪縺吶
Docker縺ョ繝代ヵ繧ゥ繝シ繝槭Φ繧ケ繧貞髄荳翫&縺帙k縺ォ縺ッ縲∵ャ。縺ョ譁ケ豕輔′縺ゅj縺セ縺吶
- Docker繧淡SL 2繧貞茜逕ィ縺励◆迺ー蠅縺ァ螳溯。後☆繧九
- 繧ス繝シ繧ケ繧ウ繝シ繝峨rWSL 2縺ョ繝繧」繧ケ繝医Μ繝薙Η繝シ繧キ繝ァ繝ウ鬆伜沺蜀縺ォ驟咲スョ縺吶k縲
荳願ィ倥r雕上∪縺医※謾ケ繧√※謨エ逅縺励◆讒狗ッ画焔鬆繧定ィ倩シ峨@縺ヲ縺縺阪∪縺吶
Windows縺ァ Docker + Laravel 讒狗ッ画焔鬆
蜑肴署
Docker Desktop縺ッ繧、繝ウ繧ケ繝医シ繝ォ貂医∩縺ァ縺ゅk縺薙→縲Windows 縺ォ Docker Desktop 繧偵う繝ウ繧ケ繝医シ繝ォ
WSL2繧偵う繝ウ繧ケ繝医シ繝ォ
Docker Desktop繧、繝ウ繧ケ繝医シ繝ォ譎ゅ↓Ubuntu繧ゅう繝ウ繧ケ繝医シ繝ォ縺励◆縺、繧ゅj縺ァ縺励◆縺後仝SL2縺ョ繝繧」繧ケ繝医Μ繝薙Η繝シ繧キ繝ァ繝ウ繧貞盾辣ァ縺吶k縺ィUbuntu縺後≠繧翫∪縺帙s縲
PS C:\Users\syun> wsl -l -v
NAME STATE VERSION
* docker-desktop Running 2
docker-desktop-data Running 2
縺薙ョ迥カ諷九〒縺ゅl縺ー縺翫→縺ェ縺励¥WSL2繧、繝ウ繧ケ繝医シ繝ォ縺ョ謇矩縺ォ騾イ縺ソ縺セ縺吶
譛邨ら噪縺ォ縺ッ縺薙ョ繧医≧縺ェ繝ャ繧ケ繝昴Φ繧ケ縺瑚ソ斐▲縺ヲ縺上l縺ーOK
NAME STATE VERSION
* Ubuntu Running 2
docker-desktop Running 2
docker-desktop-data Running 2
縺セ縺壹ッPowerShell 縺セ縺溘ッ Windows 繧ウ繝槭Φ繝 繝励Ο繝ウ繝励ヨ繧邂。逅閠繝「繝シ繝峨〒髢九″縲『sl --install 繧ウ繝槭Φ繝峨r蜈・蜉帙@縲√槭す繝ウ繧貞崎オキ蜍輔@縺セ縺吶
wsl --install
邏ー縺九>謇矩縺ョ蜿らァ縺悟ソ隕√↑蝣エ蜷医ッWSL 繧剃スソ逕ィ縺励※ Windows 縺ォ Linux 繧偵う繝ウ繧ケ繝医シ繝ォ縺吶k譁ケ豕繧偵#隕ァ縺上□縺輔>縲
縺薙ョ繧ウ繝槭Φ繝峨↓繧医j縲仝SL 繧貞ョ溯。後@縲´inux 縺ョ Ubuntu 繝繧」繧ケ繝医Μ繝薙Η繝シ繧キ繝ァ繝ウ繧偵う繝ウ繧ケ繝医シ繝ォ縺吶k縺溘a縺ォ蠢隕√↑讖溯ス縺梧怏蜉ケ縺ォ縺ェ繧翫∪縺吶
繧、繝ウ繧ケ繝医シ繝ォ縺碁イ繧縺ィUbuntu縺ョ繧「繧ォ繧ヲ繝ウ繝井ス懈舌r豎ゅa繧峨l繧九ョ縺ァ縲!D縺ィ繝代せ繝ッ繝シ繝峨r險ュ螳壹@縺セ縺吶
繧、繝ウ繧ケ繝医シ繝ォ縺悟ョ御コ縺励◆繧姥SL2縺ョ險ュ螳壹r陦後>縺セ縺吶
wsl --set-version Ubuntu 2
縺薙l縺ァWSL2縺ョ菴懈・ュ縺ッ螳御コ縺ァ縺吶
Docker Desktop縺ョ險ュ螳壼、画峩
Docker Desktop縺ョ險ュ螳壹〒WSL2縺ョ繝繧」繧ケ繝医Μ繝薙Η繝シ繧キ繝ァ繝ウ繧貞茜逕ィ蜿ッ閭ス縺ォ縺励∪縺吶
逕サ髱「荳企Κ縺ョ縲瑚ィュ螳壹Γ繝九Η繝シ縲坂淡SL integration 竍偵Resources WSL integration 縺ィ騾イ縺ソ縺セ縺吶
Ubuntu繧呈怏蜉ケ蛹悶☆繧玖ィュ螳壹′縺ゅj縺セ縺吶ョ縺ァ縲√く繝」繝励メ繝」縺ョ繧医≧縺ォ譛牙柑蛹冶ィュ螳壹r陦後>
縲窟pply & restart縲阪懊ち繝ウ繧呈款荳九@縺セ縺吶

繧「繝励Μ繧ア繝シ繧キ繝ァ繝ウ繝励Ο繧ー繝ゥ繝繧旦buntu縺ョ鬆伜沺縺ォ驟咲スョ
Ubuntu鬆伜沺縺ッ荳玖ィ倥ヱ繧ケ縺ォ縺ェ繧翫∪縺吶
\wsl.localhost\Ubuntu\home\
繧「繝峨Ξ繧ケ繝舌シ縺ォ蜈・蜉帙☆繧九→繧「繧ッ繧サ繧ケ縺ァ縺阪∪縺吶
\wsl.localhost\Ubuntu\home\[繝ヲ繝シ繧カ蜷江\ 驟堺ク九↓繧「繝励Μ繧ア繝シ繧キ繝ァ繝ウ繝励Ο繧ー繝ゥ繝繧帝咲スョ縺励※縺縺阪∪縺励g縺縲

繝阪ャ繝医Ρ繝シ繧ッ繝峨Λ繧、繝悶ョ蜑イ繧雁ス薙※繧偵@縺ヲ縺翫¥縺ィ蠕後萓ソ蛻ゥ縺ァ縺吶

laravel 繧、繝ウ繧ケ繝医シ繝ォ
Linux繝輔ぃ繧、繝ォ繝吶シ繧ケ縺ァLaravel繧貞ョ溯。後☆繧九◆繧√↓縲ゞbuntu鬆伜沺蜀縺ォLaravel繧偵う繝ウ繧ケ繝医シ繝ォ縺励∪縺吶
縺セ縺壹ッDocker繧ウ繝ウ繝繝翫r遶九■荳翫£縺セ縺励g縺縲Eocker-compose.yml縺ョ繧オ繝ウ繝励Ν縺ッ縺薙■繧峨
諠ウ螳壹ヱ繧ケ縺ァ謖螳壹@縺ヲ縺繧九ョ縺ァ繧上°繧翫▼繧峨>縺ァ縺吶′繝舌う繝ウ繝峨槭え繝ウ繝医〒Ubuntu鬆伜沺繧呈欠螳壹@縺ヲ縺縺セ縺吶
version: '3'
services:
nginx:
image: syunbiz03/nginx
container_name: "dc"
build:
context: ./docker/nginx
ports:
- 8080:80
volumes:
- ./:/src
app:
image: syunbiz03/app
container_name: "app"
build:
context: ./docker/php
depends_on:
- mysql
ports:
- 5173:5173
volumes:
- ./:/src
- /src/node_modules
- /src/vendor
- ./docker/php/php.ini:/usr/local/etc/php/php.ini
mysql:
image: mysql:8.0.37
command: --max_allowed_packet=32505856
container_name: "dc_mysql"
volumes:
- ./docker/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=root
ports:
- 3306:3306
redis:
image: redis:alpine
container_name: "redis"
ports:
- 16379:6379
繧ウ繝ウ繝繝翫′遶九■荳翫′縺」縺溘iLaravel縺ョ繧、繝ウ繧ケ繝医シ繝ォ蜈医〒縺ゅk繧ウ繝ウ繝繝雁錐 : app 縺ョ繧オ繝シ繝舌↓蜈・繧翫∪縺吶
docker compose exec app bash
Laravel縺ョ繝励Ο繧ク繧ァ繧ッ繝医r菴懈舌@縺セ縺吶
composer create-project laravel/laravel --prefer-dist myapplication
萓晏ュ倬未菫ゅョ繧、繝ウ繧ケ繝医シ繝ォ
Laravel縺ョ縺贋ス懈ウ輔↓縺ョ縺」縺ィ縺」縺ヲ縺薙ョ霎コ繧翫ョ繧ウ繝槭Φ繝峨b螳溯。後@縺ヲ縺縺阪∪縺吶
composer install
chmod -R ug+rwx storage
php artisan storage:link
npm 繧、繝ウ繧ケ繝医シ繝ォ
WSL2縺ォnpm繧偵う繝ウ繧ケ繝医シ繝ォ縺励∪縺吶
縺薙■繧峨ョ繝壹シ繧ク繧貞盾閠縺ォ縺励※縺縺セ縺吶Node.js 繧 Linux 逕ィ Windows 繧オ繝悶す繧ケ繝繝 (WSL2) 縺ォ繧、繝ウ繧ケ繝医シ繝ォ縺吶k
sudo apt-get install curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
nvm install --lts
nvm use --lts
npm update
蜿り繧オ繧、繝医〒縺ッUbuntu 繧ウ繝槭Φ繝 繝ゥ繧、繝ウ縺九i繧、繝ウ繧ケ繝医シ繝ォ縺吶k縺ィ險倩シ峨&繧後※縺縺セ縺吶′縲´aravel繧偵う繝ウ繧ケ繝医シ繝ォ縺励◆繧ウ繝ウ繝繝翫〒蠑輔″邯壹″菴懈・ュ縺吶k縺薙→繧偵♀蜍ァ繧√@縺セ縺吶6buntu縺九i繧、繝ウ繧ケ繝医シ繝ォ縺吶k縺ィ讓ゥ髯仙捉繧翫〒髱「蛟偵↑縺薙→縺ォ縺ェ繧翫∪縺吶
縺薙l縺ァ荳騾壹j縺ョ菴懈・ュ縺ッ螳御コ縺ァ縺吶
譛蠕後↓ npm run dev 繧ウ繝槭Φ繝峨r螳溯。後@縺ヲ繧オ繝シ繝舌↓繧「繧ッ繧サ繧ケ縺吶l縺ー縲√壹シ繧ク縺瑚。ィ遉コ縺輔l縺セ縺吶
繝代シ繝溘ャ繧キ繝ァ繝ウ縺ョ險ュ螳
Windows 縺ョ繝繝輔か繝ォ繝医Θ繝シ繧カ縺ィ Ubuntu 縺ョ繝繝輔か繝ォ繝医Θ繝シ繧カ縺ョ驕輔>縺ォ繧医j縲縺昴ョ縺セ縺セ縺ョ迥カ諷九〒縺ッ Windows 荳翫°繧峨ヵ繧。繧、繝ォ譖エ譁ー縺ァ縺阪∪縺帙s縲IDE縺ェ縺ゥ縺御スソ縺医↑縺縺溘a縺薙ョ縺セ縺セ縺ァ縺ッ髱槫クク縺ォ荳堺セソ縺ァ縺吶
繝輔ぃ繧、繝ォ縺ョ謇譛芽繧定ヲ九k縺ィ繝励Ο繧ク繧ァ繧ッ繝亥縺ョ繝輔ぃ繧、繝ォ縺ッ謇譛芽縺 root 縺ォ縺ェ縺」縺ヲ縺縺セ縺吶

縺励°縺邑indows荳翫°繧画眠隕上〒菴懈舌@縺溘ヵ繧。繧、繝ォ縺ッ荳玖ィ倥ョ繧医≧縺ォ繝ヲ繝シ繧カID : 1000 ( Windows 縺ョ繝繝輔か繝ォ繝医Θ繝シ繧カ)縺ォ縺ェ縺」縺ヲ縺縺セ縺吶
test.txt縺梧眠隕上〒菴懈舌@縺溘ヵ繧。繧、繝ォ縺ァ縺吶

縺薙ョ蝠城。後r隗」豎コ縺吶k縺溘a縺ォ縺ッ縲ゞbuntu荳翫〒繝ヲ繝シ繧カID:1000縺ョ繧「繧ォ繧ヲ繝ウ繝医r菴懈舌@縲∵園譛芽繧貞、画峩縺励∪縺吶
Ubuntu荳翫ョ謇譛芽縺ョ繧ー繝ォ繝シ繝励b繝繝輔か繝ォ繝医〒縺ゅkwww-data縺ォ螟画峩縺励※縺翫″縺セ縺励g縺縲
繝ヲ繝シ繧カID:1000縺ョ繧「繧ォ繧ヲ繝ウ繝医r菴懈
繧「繧ォ繧ヲ繝ウ繝亥錐縺ッ縲慧ev縲阪√げ繝ォ繝シ繝励ッwww-data縺ォ險ュ螳壹@縺セ縺吶
useradd -u 1000 dev -G www-data
譁ー隕上〒菴懈舌@縺溘い繧ォ繧ヲ繝ウ繝医ョ繝繝輔か繝ォ繝医げ繝ォ繝シ繝励r縲詣ww-data縲阪↓螟画峩縺励※縺翫″縺セ縺吶
usermod -g www-data dev
謇譛芽縺ョ螟画峩
繝励Ο繧ク繧ァ繧ッ繝亥縺ョ繝輔ぃ繧、繝ォ謇譛芽繧剃ク諡ャ縺ァ螟画峩縺励∪縺吶ゆスオ縺帙※繝代シ繝溘ャ繧キ繝ァ繝ウ繧ょ、画峩縺励※縺翫″縺セ縺吶
chown -R dev:www-data myapplication
chmod -R 775 myapplication
繝励Ο繧ク繧ァ繧ッ繝医ヵ繧ゥ繝ォ繝閾ェ菴薙ョ謇譛芽縺ッroot縺ォ謌サ縺
縺薙l繧偵d繧峨↑縺縺ィ npm run dev 繧ウ繝槭Φ繝牙ョ溯。梧凾縺ォ繧ィ繝ゥ繝シ縺ォ縺ェ繧翫∪縺励◆縲
蜴溷屏霑ス蜿翫〒縺阪※縺縺セ縺帙s縺悟叙繧頑・縺手ァ」豎コ縺吶k譁ケ豕輔→縺励※謇譛芽繧貞縺ォ謌サ縺励∪縺吶
chown root:root myapplication
繝ュ繧ー繝輔ぃ繧、繝ォ縺ョ繝代シ繝溘ャ繧キ繝ァ繝ウ螟画峩
繝ュ繧ー繝輔ぃ繧、繝ォ縺ッ繧キ繧ケ繝繝蛛エ縺瑚ェ蜍輔〒菴懈舌@縺ヲ縺縺上ョ縺ァ縲√%縺。繧峨b菴オ縺帙※險ュ螳壹′蠢隕√〒縺吶
荳玖ィ倥ョ險倅コ九r蜿り縺ォ險ュ螳壹@縺セ縺吶
Laravel log縺ョPermission denied蟇セ蠢
菴懈・ュ荳ュ縺ォ驕ュ驕縺励◆蜷遞ョ繧ィ繝ゥ繝シ
sh: 1: vite: not found
npm縺ョ繧、繝ウ繧ケ繝医シ繝ォ縺ォ蝠城。後′縺ゅk蜿ッ閭ス諤ァ縺後≠繧翫∪縺吶
荳玖ィ倥さ繝槭Φ繝峨r隧ヲ縺励※縺ソ縺ヲ縺上□縺輔>縲
npm update
Cannot find module @rollup/rollup-linux-x64-gnu
npm縺ョ繧、繝ウ繧ケ繝医シ繝ォ縺ォ蝠城。後′縺ゅk蜿ッ閭ス諤ァ縺後≠繧翫∪縺吶
荳玖ィ倥さ繝槭Φ繝峨r隧ヲ縺励※縺ソ縺ヲ縺上□縺輔>縲
npm update
sh: 1: node: Permission denied
npm run dev 繧ウ繝槭Φ繝牙ョ溯。梧凾縺ォ逋コ逕溘@縺溘お繝ゥ繝シ縺ァ縺吶ゅ励Ο繧ク繧ァ繧ッ繝医ョ繝代シ繝溘ャ繧キ繝ァ繝ウ繧池oot縺九i螟画峩縺励◆縺薙→縺悟次蝗縲

繧ウ繝槭Φ繝峨r螳溯。後☆繧 root 繝ヲ繝シ繧カ縺ォ蜷医o縺帙※繝励Ο繧ク繧ァ繧ッ繝医ヵ繧ゥ繝ォ繝縺ョ讓ゥ髯舌r螟画峩縺励∪縺吶
chown root:root myapplication



