04C. build ๋ช ๋ น์ผ๋ก ์ด๋ฏธ์ง ์์ฑํ๊ธฐ
04C. build ๋ช ๋ น์ผ๋ก ์ด๋ฏธ์ง ์์ฑํ๊ธฐ ๊ด๋ จ
.Dockerfile
์ ์์ฑํ์์ผ๋ฉด ์ด๋ฏธ์ง๋ฅผ ์์ฑํฉ๋๋ค. Dockerfile
์ด ์ ์ฅ๋ example
๋๋ ํฐ๋ฆฌ์์ ๋ค์ ๋ช
๋ น์ ์คํํฉ๋๋ค.
sudo docker build --tag hello:0.1 .
docker build <์ต์
> <Dockerfile ๊ฒฝ๋ก>
ํ์์
๋๋ค. --tag
์ต์
์ผ๋ก ์ด๋ฏธ์ง ์ด๋ฆ๊ณผ ํ๊ทธ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ์ด๋ฏธ์ง ์ด๋ฆ๋ง ์ค์ ํ๋ฉด ํ๊ทธ๋ latest
๋ก ์ค์ ๋ฉ๋๋ค.
์ ์ ๊ธฐ๋ค๋ฆฌ๋ฉด ์ด๋ฏธ์ง ํ์ผ์ด ์์ฑ๋ฉ๋๋ค. ์ด๋ฏธ์ง ๋ชฉ๋ก์ ์ถ๋ ฅํฉ๋๋ค.
sudo docker images
#
# REPOSITORY TAG IMAGE ID CREATED SIZE
# hello 0.1 8307ff628ec8 9 seconds ago 170MB
# ubuntu 22.04 2dc39ba059dc 7 days ago 77.8MB
hello:0.1
์ด๋ฏธ์ง๊ฐ ์์ฑ๋์์ต๋๋ค. ์ด์ ์คํ์ ํด๋ด
๋๋ค.
sudo docker run --name hello-nginx -d -p 80:80 -v /root/data:/data hello:0.1
-d
์ต์ ์ ์ปจํ ์ด๋๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํํฉ๋๋ค.-p 80:80
์ต์ ์ผ๋ก ํธ์คํธ์ 80๋ฒ ํฌํธ์ ์ปจํ ์ด๋์ 80๋ฒ ํฌํธ๋ฅผ ์ฐ๊ฒฐํ๊ณ ์ธ๋ถ์ ๋ ธ์ถํฉ๋๋ค. ์ด๋ ๊ฒ ์ค์ ํ ๋คhttp://<ํธ์คํธ IP>:80
์ ์ ์ํ๋ฉด ์ปจํ ์ด๋์80
๋ฒ ํฌํธ๋ก ์ ์๋ฉ๋๋ค.-v /root/data:/data
์ต์ ์ผ๋ก ํธ์คํธ์/root/data
๋๋ ํฐ๋ฆฌ๋ฅผ ์ปจํ ์ด๋์/data
๋๋ ํฐ๋ฆฌ์ ์ฐ๊ฒฐํฉ๋๋ค./root/data
๋๋ ํฐ๋ฆฌ์ ํ์ผ์ ๋ฃ์ผ๋ฉด ์ปจํ ์ด๋์์ ํด๋น ํ์ผ์ ์ฝ์ ์ ์์ต๋๋ค.
์คํ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก์ ์ถ๋ ฅํฉ๋๋ค.
sudo docker ps
#
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 9f4bb4c4a3d8 hello:0.1 "nginx" 11 seconds ago Up 10 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 443/tcp hello-nginx
hello-nginx
์ปจํ
์ด๋๊ฐ ์คํ๋์์ต๋๋ค.
์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์คํํ๊ณ , http://<ํธ์คํธ IP>:80
์ผ๋ก ์ ์ํฉ๋๋ค. Welcome to nginx! ํ์ด์ง๊ฐ ํ์๋ ๊ฒ์
๋๋ค.
macOS, Windows์์ Docker Desktop์ ์ฌ์ฉํ๋ค๋ฉด?
์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์คํํ๊ณ , http://127.0.0.1
๋ก ์ ์ํฉ๋๋ค. Welcome to nginx! ํ์ด์ง๊ฐ ํ์๋ ๊ฒ์
๋๋ค.