๐ ์ปจํ ์ด๋ ๋คํธ์ํน
์๋ก ๋ค๋ฅธ ์ปจํ ์ด๋๋ผ๋ฆฌ ํต์ ํ ์ ์๋๋กํ๋ ๊ธฐ๋ฅ
๋คํธ์ํฌ ๋ง๋ค๊ธฐ ( ํต์ ์ฐฝ๊ตฌ )
docker network create <๋คํธ์ํฌ๋ช
>
์ปจํ ์ด๋์ ์ฐ๊ฒฐํ๊ธฐ
docker network connect <์ต์
> <๋คํธ์ํฌ> <์ปจํ
์ด๋ID>
# --alias : ์ปจํ
์ด๋์ ๋ณ์นญ ๋ถ์ด๊ธฐ ( ๋คํธ์ํฌ๊ฐ ๊ตฌ๋ถํจ )
# --driver-opt : ๊ฐ๋ฐ์ ์ต์
# --ip : ์ปจํ
์ด๋์๊ฒ ip ํ ๋น
๐ฉ ๋คํธ์ํฌ ์ฐ๊ฒฐํด ์ปจํ ์ด๋ ์์ฑ ( MySQL )
1. Linux
docker run -d \
--network todo-app --network-alias mysql \
-v todo-mysql-data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=secret \
-e MYSQL_DATABASE=todos \
mysql:5.7
2. ์๋์ฐ
PS> docker run -d `
--network todo-app --network-alias mysql `
-v todo-mysql-data:/var/lib/mysql `
-e MYSQL_ROOT_PASSWORD=secret `
-e MYSQL_DATABASE=todos `
mysql:5.7
3. MacOS
docker run -d \
--network todo-app --network-alias mysql \
--platform "linux/amd64" \
-v todo-mysql-data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=secret \
-e MYSQL_DATABASE=todos \
mysql:5.7
์ค๋ช
--network todo-app # todo-app ๋คํธ์ํฌ์ ์ฐ๊ฒฐ
--network-alias mysql # ๋คํธ์ํฌ ๋ณ๋ช
mysql
-v todo-mysql-data:/var/lib/mysql # ๋ณผ๋ฅจ ์ง์ ( ์์ผ๋ฉด ์๋ ์์ฑ )
-e MYSQL_ROOT_PASSWORD=secret # mysql ๋น๋ฐ๋ฒํธ ์ง์
-e MYSQL_DATABASE=todos # mysql DB์ด๋ฆ ์ง์
MySQL ์ ์
docker exec -it <์ปจํ
์ด๋ID> mysql -u root -p
๐ฉ ๋คํธ์ํฌ ์ฐ๊ฒฐํด ์ปจํ ์ด๋ ์์ฑ ( Netshoot )
docker run -it --network todo-app nicolaka/netshoot
# --network todo-app : todo-app ๋คํธ์ํฌ์ ์ฐ๊ฒฐ
# nicolaka/netshoot : ๋คํธ์ํฌ ๊ด๋ จ ๋๋ฒ๊น
๋๊ตฌ ์ ๊ณตํ๋ ์ด๋ฏธ์ง
๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ MySQL ์ฐพ๊ธฐ
dig mysql
๋ฐ์ํ