์ด๊ฒ์ ์ด๋์ ๋๋ ๊ฒ์ด ๋ง๋์ง ํ์คํ์ง ์์ง๋ง laravel valet์ด ํฅํ ์ ๊ฑฐ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์.
์ด laravel ๋๋ผ์ด๋ฒ๊ฐ laravel sail(dockerized container) https://laravel.com/docs/8.x/sail์ ์ฌ์ฉ์ ์ง์ํ๋์ง ๊ถ๊ธํฉ๋๋ค.
๋๋ ๊ตฌํ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ฃผ๋ ๋ฌธ์๊ฐ ์๋ ๊ฒฝ์ฐ ์ด ์์ ์ ์ํํ ์ ์์ต๋๋ค.
๊ทธ๊ฒ์ด ์์ฑํ๋ ์ธ์คํด์ค๋ ์ด ๋๋ผ์ด๋ฒ ์ ์ํด ์ฝํ์ง ์์ต๋๋ค. ๋น๋ก ์ ๊ฐ ์ฝ๊ฒ ํ๋ฆด ์ ์์ง๋ง ์ ๊ฐ ์ป๊ณ ์๋ ์ธ์์ ๋๋ค.
์๋
ํ์ธ์ @marky291
docker๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ฐ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
๊ทธ๋ฌ๋ 0.0.0.0:7700์ meilisearch๊ฐ ์ปดํจํฐ์์ ์ฌ์ฉํ ์ ์๋๋ก ๋ก์ปฌ ํธ์คํธ์ ํฌํธ 7700์ ๋ฐ์ธ๋ฉํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. (๋ก์ปฌ ํธ์คํธ:7700)
์ฌ๊ธฐ์์๋ laravel ์ปจํ
์ด๋์ ์์ผ๋ฏ๋ก port
์๋ service
๋ก ํต์ ํ๊ณ ์ถ์ต๋๋ค.
.env
๋ฅผ ์์ธํ ๋ณด๋ฉด ์ ์ ์์ต๋๋ค.
DB_HOST=mysql
MAIL_HOST=mailhog
docker-compose.yml
์ ์๋ ์๋น์ค ์ด๋ฆ์ ์ฐธ์กฐํฉ๋๋ค.
๊ทธ๋์ meilisearch๋ฅผ ์ํด ๋น์ ์ดํด์ผ ํ
MEILISEARCH_HOST=meilisearch:7700
:7700 MEILISEARCH_PORT ํ๊ฒฝ์ด ์๊ธฐ ๋๋ฌธ์
๊ทธ๊ฒ์ด ๋น์ ์๊ฒ ๋ถ๋ช ํ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ๋์ปค๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ค๋ช ํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
docker-compose.yml ์ด๊ฒ์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
meilisearch:
image: 'getmeili/meilisearch:latest'
ports:
- 7700:7700
networks:
- sail
volumes:
- 'meilisearch:/data.ms'
volumes:
sailmysql:
driver: local
sailredis:
driver: local
meilisearch:
driver: local
๋ฌธ์์ ๋ํด ์ ๋ sail์ผ๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ํค ํ์ด์ง๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค. (@curquiza๋ก ๋ด
์๋ค)
๊ทธ๋ฌ๋ ์ ์๊ฐ์๋ laravel sail์ ์ฌ์ฉํ ๋ sail์ด ์ ๊ณตํ๋ ๊ฒ์ ์ ํ์ ๋์ง ์๋๋ค๋ฉด:
Sail์ ์ฌ์ Docker ๊ฒฝํ ์์ด PHP, MySQL ๋ฐ Redis๋ฅผ ์ฌ์ฉํ์ฌ Laravel ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๊ธฐ ์ํ ํ๋ฅญํ ์ถ๋ฐ์ ์ ์ ๊ณตํฉ๋๋ค.
๋์ปค์ ์๋ ๋ฐฉ์๊ณผ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ดํดํด์ผ ํฉ๋๋ค.
์๋
ํ์ธ์ @shokme ์ @marky291์
๋๋ค!
์๋ชป๋ ์ฌ์ฉ๋ฒ์ด๊ฑฐ๋ docker ๋๋ laravel sail์ ๋ํ ์ดํด๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ ์ด๋ฌํ ์ข
๋ฅ์ ์์ต์๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ์ฐ์ ์์์ธ์ง ํ์คํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๊ตฐ๊ฐ๊ฐ Wiki ํ์ด์ง๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ฆ๊ธด๋ค๋ฉด ์ ๋ ์ ํ ๋ฐ๋ํ์ง ์์ต๋๋ค ๐ @shokme haha์ ๊ฒฝ์ฐ๊ฐ ํ์คํ์ง ์์ผ๋ฏ๋ก ๋ค๋ฅธ ๊ธฐ์ฌ์๋ฅผ ๊ธฐ๋ค๋ฆด ์ ์์ต๋๋ค. ์ด ํํ ๋ฆฌ์ผ์ ํ์คํ ๊ธด๊ธ ์ํฉ์ด ์๋๋๋ค.
์ฃ์กํฉ๋๋ค. ๋ด๋ถ๋ฅผ ๋ ์ ์ดํดํ๊ธฐ ์ํด LinkedIn ๊ณผ์ ์์ docker๋ฅผ ํตํด ์์ ํ๊ณ ์์ต๋๋ค. ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๋ช ์ค์ ๋ฌธ์๊ฐ ์์ผ๋ฉด ์ข์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง๋ง ์ด์ ๋ ์ ์ ์์ต๋๋ค. ์ค์ ๋ก ์ด ํจํค์ง์ ์ฑ ์์ด ์๋๋๋ค. docker์ ๋ํ ๋ ๋์ ์ดํด๋ฅผ ์ํด ์๋ต๊ณผ @shokme ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ํฐ ๋์์ด ๋ฉ๋๋ค. ๊ณ ๋ง์ ์๋ค์ ๐
์๋ ํ์ธ์ @marky291
docker๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ฐ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
๊ทธ๋ฌ๋ 0.0.0.0:7700์ meilisearch๊ฐ ์ปดํจํฐ์์ ์ฌ์ฉํ ์ ์๋๋ก ๋ก์ปฌ ํธ์คํธ์ ํฌํธ 7700์ ๋ฐ์ธ๋ฉํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. (๋ก์ปฌ ํธ์คํธ:7700)
์ฌ๊ธฐ์์๋ laravel ์ปจํ ์ด๋์ ์์ผ๋ฏ๋กport
๊ฐ ์๋service
๋ก ํต์ ํ๊ณ ์ถ์ต๋๋ค.
.env
๋ฅผ ์์ธํ ๋ณด๋ฉด ์ ์ ์์ต๋๋ค.
DB_HOST=mysql
MAIL_HOST=mailhog
docker-compose.yml
์ ์๋ ์๋น์ค ์ด๋ฆ์ ์ฐธ์กฐํฉ๋๋ค.
๊ทธ๋์ meilisearch๋ฅผ ์ํด ๋น์ ์ดํด์ผ ํ
MEILISEARCH_HOST=meilisearch:7700
:7700 MEILISEARCH_PORT ํ๊ฒฝ์ด ์๊ธฐ ๋๋ฌธ์๊ทธ๊ฒ์ด ๋น์ ์๊ฒ ๋ถ๋ช ํ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ๋์ปค๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ค๋ช ํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
docker-compose.yml ์ด๊ฒ์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
meilisearch: image: 'getmeili/meilisearch:latest' ports: - 7700:7700 networks: - sail volumes: - 'meilisearch:/data.ms' volumes: sailmysql: driver: local sailredis: driver: local meilisearch: driver: local
์ด๊ฒ์ ์๋ฒฝํ๊ฒ ์๋ํ์ผ๋ฉฐ ๋๋ผ์ด๋ฒ๋ ํ๋กํ ์ฝ์ด ํ์ํ๋ฉฐ ๋ค์์ ์ฌ์ฉํ์ฌ ์์์ ์์ ํ์ต๋๋ค.
MEILISEARCH_HOST=http://meilisearch:7700
@marky291 ํผ๋๋ฐฑ์ ๊ฐ์ฌ๋๋ฆฌ๋ฉฐ ์๊ฐ์ ๋ด์ด ๋ต๋ณํด ์ฃผ์ @shokme์๊ฒ๋ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
๊ทธ๋ฌ๋ฉด ์ด ๋ฌธ์ ๋ฅผ ๋ซ์ ์ ์์ต๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ฃ์กํฉ๋๋ค. ๋ด๋ถ๋ฅผ ๋ ์ ์ดํดํ๊ธฐ ์ํด LinkedIn ๊ณผ์ ์์ docker๋ฅผ ํตํด ์์ ํ๊ณ ์์ต๋๋ค. ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๋ช ์ค์ ๋ฌธ์๊ฐ ์์ผ๋ฉด ์ข์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง๋ง ์ด์ ๋ ์ ์ ์์ต๋๋ค. ์ค์ ๋ก ์ด ํจํค์ง์ ์ฑ ์์ด ์๋๋๋ค. docker์ ๋ํ ๋ ๋์ ์ดํด๋ฅผ ์ํด ์๋ต๊ณผ @shokme ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ํฐ ๋์์ด ๋ฉ๋๋ค. ๊ณ ๋ง์ ์๋ค์ ๐