1. Docker๋?
- ๋ฆฌ๋
์ค ๊ธฐ๋ฐ์ ์ด๋ฏธ์ง, ์ปจํ
์ด๋ ๊ธฐ์
- ์ด๋ฏธ์ง : ์ปจํ ์ด๋๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ๋ก๊ทธ๋จ. ์ปจํ ์ด๋์ ํฌํจ๋ ๋ด์ฉ๊ณผ ๊ทธ ์คํ๋ฒ์ ๋ชจ๋ ๋ด๊ณ ์๋ ์ค๊ณ๋๋ผ๊ณ ์๊ฐํ๋ฉด ํธํจ.
- ์ปจํ ์ด๋ : ํ๋์ ์๋น์ค(or์ดํ๋ฆฌ์ผ์ด์ )๋ฅผ ์คํํ๊ธฐ ์ํ ์ฌ๋ฌ ๊ตฌ์ฑ ์์๋ค์ ์ ์ฅํ ๋ ๋ฆฝ๋ ๊ณต๊ฐ.
- ๋์ปค์ ์ฅ์
- ๊ฐ ์ปจํ ์ด๋๊ฐ ๋ ๋ฆฝ๋ ๊ฐ๋ฐํ๊ฒฝ์ ์ ๊ณตํ๋ฏ๋ก, ํ๋์ Host OS์์ ์ฌ๋ฌ ๋ณ๋ ฌ ์์ ์ด ๋ณด์ฅ๋จ.
- ์ปจํ ์ด๋๋ฅผ ์ด๋ฏธ์งํ ์์ผ์ ์ฎ๊ธฐ๋ฉด, ๋ค๋ฅธ Host OS์์๋ ์ฝ๊ฒ ๋ค์ ์ปจํ ์ด๋๋ฅผ ๋ง๋ค์ด ์์ ํ ์ ์์.
-
๊ฐ์๋จธ์ ๊ณผ ๋ฌ๋ฆฌ, ๊ฐ์ OS๊ฐ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฆฌ์์ค ํจ์จ์ด ์ข์
2. Docker ์ฌ์ฉ๋ฒ (๋ช ๋ น์ด)
run ๋ช ๋ น์ด
๐ ์ต์ ์ ๋ฆฌ
-t
: ์คํ๋ ์ด๋ฏธ์ง(์ปจํ ์ด๋)์ ๋ํด ๊ฐ์ ํฐ๋ฏธ๋ ํ๊ฒฝ ํ์ฑ-i
: ์ฌ์ฉ์๊ฐ ์ ์ถ๋ ฅ์ ํ ์ ์๋ ํ๊ฒฝ-
-d
: ์ด๋ฏธ์ง๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๊ณ์ ์คํ(๋ฐ๋ชฌ)๐ก [-d] ์ต์ ๊ณผ [-i -t] ์ต์ ์ ์ฐจ์ด
- -d ์ต์ : ์ปจํ ์ด๋ ๋ด๋ถ์์ ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ์ง ์๊ณ , ์ปจํ ์ด๋๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก์ ์คํํ๋๋ก ์ค์ ํ๋ ๊ฒ์ด๋ค.
- -i -t ์ต์ : ์ฌ์ฉ์์ ์ํธ์์ฉ์ด ๊ฐ๋ฅํ ์ปจํ ์ด๋ ํ๊ฒฝ์ ๋ง๋ค๋ ์ฐ์ธ๋ค.
-e
: ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ -p (ํธ์คํธ์ ํฌํธ) : (์ปจํ ์ด๋์ ํฌํธ)
: ํฌํธ๋ฅผ ์ค์ --link
: ๋ค๋ฅธ ์ปจํ ์ด๋์ ์ฐ๊ฒฐ--name
: ์ปจํ ์ด๋์ ์ด๋ฆ์ ์ค์ -v (ํธ์คํธ์ ๋๋ ํ ๋ฆฌ) : (์ปจํ ์ด๋์ ๋๋ ํฐ๋ฆฌ)
(์ด๋ฏธ์ง)- ์คํ๋ ์ด๋ฏธ์ง(์ปจํ ์ด๋)์ ๋๋ ํ ๋ฆฌ์ ํธ์คํธ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋ด์ฉ์ ๊ณต์ ํจ. ์ฆ, ์ดํ์ ์ปจํ ์ด๋๋ฅผ ์ญ์ ํ๋๋ผ๋ ๊ทธ ๋ด์ฉ์ ํธ์คํธ์ ๋๋ ํ ๋ฆฌ์ ๋จ์์๊ฒ ๋จ.
๊ทธ ์ธ ๋ช ๋ น์ด
โ ๋์ปค ๋ช ๋ น์ด
docker ps
: ์คํ์ค์ธ ์ปจํ
์ด๋ ๋ณด๊ธฐ
docker ps -a
: ๋ชจ๋ ์ปจํ
์ด๋ ๋ณด๊ธฐ(์ข
๋ฃ๋ ์ปจํ
์ด๋๊น์ง๋)
docker images
: ์ด๋ฏธ์ง ๋ณด๊ธฐ
docker exec
: ์คํ์ค์ธ ์ปจํ
์ด๋์ ๋ช
๋ น์ด ์คํ
docker logs
: ์ปจํ
์ด๋ ๋ก๊ทธ ํ์ธ
docker run
: ์ปจํ
์ด๋ ์คํ
docker build
: ์ด๋ฏธ์ง ๋ง๋ค๊ธฐ
docker kill <container_id>
: ์ปจํ
์ด๋ ๋ด๋ฆฌ๊ธฐ
docker rm <container_id>
: ์ปจํ
์ด๋ ์ง์ฐ๊ธฐ
์ปจํ ์ด๋ ์์ผ๋ก ๋ค์ด๊ฐ์ ๋
exit
: ์ปจํ
์ด๋ ๋ด๋ฆฌ๊ธฐ
2-1. ์ปจํ ์ด๋ ์์ฑ
-
๋ฐฉ๋ฒ์
run
๋ช ๋ น์ด์create
๋ช ๋ น์ด 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.// run์ผ๋ก ์ด๋ฏธ์ง ์์ฑ ์, ์์ฑ ํ ์ปจํ ์ด๋ ๋ด๋ถ๋ก ๋ค์ด๊ฐ๋ค. docker run -i -t ubuntu:22.04 printenv // ํ๊ฒฝ๋ณ์ ํ์ธ // create๋ก ์ด๋ฏธ์ง ์์ฑ ์, ์ปจํ ์ด๋ ๋ด๋ถ๋ก ๋ฐ๋ก ๋ค์ด๊ฐ์ง ์๋๋ค. // ๊ทธ๋์ ์ปจํ ์ด๋ start(์คํ)ํ attach(์ ์) ํด์ผํ๋ค. docker create -i -t ubuntu:22.04
2-1-1. run
๋ช
๋ น์ด ์ฌ์ฉ
- ๋ค์๊ณผ ๊ฐ์ ๊ตฌ๋ฌธ์ ์
๋ ฅํด์
ubuntu:22.04
์ด๋ฏธ์ง๋ฅผ ๋์ปค ์ค์ ์ ์ฅ์์ธ ๋์ปค ํ๋ธ์์ ๋ด๋ ค๋ฐ์ ์ ์๋ค. -
๋ค์ด์ด ์๋ฃ๋๋ฉด, ์ปจํ ์ด๋ ๋ด๋ถ๋ก ๋ค์ด์ฌ ์ ์๋ค.
root@~~: /#
๋ก ๋ฐ๋๋ฉด ์ปจํ ์ด๋์ ๋ค์ด์จ ์ํ์ธ ๊ฒ์ด๊ณ ,exit
๋ฅผ ์ ๋ ฅํ๋ฉด ์ปจํ ์ด๋์์ ๋์ฌ ์ ์๋ค.-
๋จ,
exit
๋ก ์ปจํ ์ด๋๋ฅผ ๋์ค๋ ๊ฒฝ์ฐ, ์ปจํ ์ด๋๋ฅผ ์ ์งํ๋ฉด์ ๋์ค๊ธฐ ๋๋ฌธ์,Ctrl + P, Q
๋ฅผ ์ฌ์ฉํ๋ฉด, ์ ์ง์ํค์ง ์๊ณ ๋์ฌ ์ ์๋ค.
2-1-2. create
๋ช
๋ น์ด ์ฌ์ฉ
-
์ด๋ฒ์๋
create
๋ก ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ๋ค,docker ps
๋ก ํ์ธํด๋ณด๋, ์คํ๋๊ณ ์์ง ์์์ ํ์ธํ ์ ์๋ค. docker ps -a
๋ช ๋ น์ด๋ก ์ปจํ ์ด๋์ ์ด๋ฆ์ ํ์ธํ ์ ์์๋ค.silly_napier
์ด๋ฏ๋ก, ํด๋น ์ด๋ฆ์ ์ด์ฉํด์start
์attach
๋ฅผ ํ๋ฉด ๋๋ค.-
์ปจํ ์ด๋ ์์ฑ ์์ ์ด๋ฆ์ ์ง์ ์ง์ ํด์ค ์๋ ์๋ค.
docker create -i -t --name <์ํ๋์ด๋ฆ> ์ด๋ฏธ์ง
2-2. ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ
-
docker ps
: ํ์ฌ ์คํ๋๊ณ ์๋ ์ปจํ ์ด๋ ๋ชฉ๋ก์ ํ์ธ -
docker ps -a
: ์์ ์ด ์ข ๋ฃ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก๊น์ง ๋ชจ๋ ํ์ธ -
docker images
: ํ์ฌ ๊ฐ์ง๊ณ ์๋ ์ด๋ฏธ์ง์ ๋ชฉ๋ก ํ์ธ
2-3. ์ปจํ ์ด๋ ๋ฐ ์ด๋ฏธ์ง ์ญ์
docker rm (์ปจํ ์ด๋ id)
: ์ปจํ ์ด๋๋ฅผ ์ญ์ , ์ปจํ ์ด๋๊ฐ ์ข ๋ฃ๋ ์ํ์ฌ์ผ ํจ-f
๋ฅผ ๋ถ์ฌ ๊ฐ์ ์ ๊ฑฐ ๊ฐ๋ฅ
docker stop (์ปจํ ์ด๋ Id)
: ์คํ์ค์ธ ์ปจํ ์ด๋๋ฅผ ์ข ๋ฃ.docker rmi (์ด๋ฏธ์ง)
: ์ด๋ฏธ์ง๋ฅผ ์ญ์ , ํด๋น ์ด๋ฏธ์ง๋ก ๋ง๋ค์ด์ง ์ปจํ ์ด๋๊ฐ ์์ด์ผ ํจ-f
๋ฅผ ๋ถ์ฌ ๊ฐ์ ์ ๊ฑฐ ๊ฐ๋ฅ
-
docker container prune
: ์คํ ์ค์ง๋ ์ปจํ ์ด๋๋ค์ ํ๋ฒ์ ๋ค ์ญ์ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ
2-4. ๋์ปค ๋ณผ๋ฅจ
์ปจํ ์ด๋๋ฅผ ์ญ์ ํ๋ฉด ์ปจํ ์ด๋์ ์กด์ฌํ๋ ํ์ผ ์์คํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ํ์ผ ๋ฟ๋ง ์๋๋ผ, ๊ทธ๋์ ์์๋จ๋ ๋ก๊ทธ์ธ ์ ๋ณด๋ ๊ฒ์๊ธ ๋ฑ๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ํจ๊ป ์ญ์ ๋ ์ ์๋ค.
์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฒ์ด ๋ณผ๋ฅจ์ด๋ค.
๋ณผ๋ฅจ์ ํ์ฉํ๋ฉด, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปจํ ์ด๋๋ฅผ ์ญ์ ํด๋ ๋ฐ์ดํฐ๋ ์ญ์ ๋์ง ์๋๋ก ํ ์ ์๋ค.
docker run -d \
--name wordpressdb_hostvolume \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=wordpress \
-v /home/wordpress_db:/var/lib/mysql \
mysql:5.7
docker run -d \
-e WORDPRESS_DB_PASSWORD=password \
--name wordpress_hostvolume \
--link wordpressdb_hostvolume:mysql \
-p 80 \
wordpress
-v
์ต์ ์ ์ด์ฉํด ํธ์คํธ์ย/home/ubuntu/wordpress_db
์ ์ปจํ ์ด๋์์์ย/var/lib/mysql
๊ฐ ์๋ก ๊ณต์ ๋๋๋ก ํด์ค๋ค(ํธ์คํธ์ ๊ทธ๋ฌํ ํด๋๊ฐ ์์ด๋ ์๋์ผ๋ก ์์ฑ)๋ฆฌ๋ ์ค(ํธ์คํธ)
์Docker Container
๊ฐ์ ๊ฐ์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ฐ๋ผ๋ณด๋๋ก ํ๋ ๊ฒ-
-v /home/wordpress_db:/var/lib/mysql
๊ตฌ๋ฌธ์ ํตํด์ ํธ์คํธ์/home/wordpress_db
์์น์ ์ปจํ ์ด๋์/var/lib/mysql
์์น๋ฅผ ๊ณต์ ํ๊ฒ ๋์๋ค.(๐ก
/var/lib/mysql
๋ MYSQL์ด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ธฐ๋ณธ ๋๋ ํฐ๋ฆฌ) - ์ปจํ ์ด๋์ ๋๋ ํฐ๋ฆฌ์ ์์ด๋ ํ์ผ์ด ํธ์คํธ์ ๋๋ ํฐ๋ฆฌ์๋ ์์ด๊ฒ ๋๊ณ , ์ปจํ ์ด๋๋ฅผ ์ญ์ ํ๊ฒ ๋์ด๋ ํธ์คํธ์ ๋๋ ํฐ๋ฆฌ์ ํ์ผ์ด ๋จ์์๊ฒ ๋๋ค.
๊ฒฐ๊ณผ ์์
-
/home/wordpress_db
๋ก ์ด๋ํด๋ณด๋, mysql๊ณผ ๊ด๋ จ๋ ํ์ผ๋ค์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. -
docker rm -f wordpressdb_hostvolume
์ ํ์์๋ ์ฌ์ ํ ํ์ผ์ด ๋จ์์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
โ ์ด ์ํฉ์์ ๋ ๋ค๋ฅธ ์ปจํ ์ด๋์ ๋๋ ํฐ๋ฆฌ์ /home/wordpress_db์ ์ฐ๊ฒฐํ๋ฉด, ์๋ก ์ฐ๊ฒฐ๋ ๋๋ ํฐ๋ฆฌ์ ํ์ผ๋ค๋ก ์์ ํ ๋ฎ์ด ์์์ง๋ฏ๋ก ์กฐ์ฌํด์ผํ๋ค.
3. Docker๋ฅผ ํ์ฉํด wordpress ์คํํ๊ธฐ
3-1. wordpress์์ ์์ฑํ ๋ด์ฉ์ด ์ ์ฅ๋ mysql ์ปจํ ์ด๋ ์์ฑ
docker run -d --name wordpressdb \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=wordpress \
mysql:5.7
- ๊ฐ ์ต์ ๋ณ๋ก โ" ๋ฅผ ์ ๋ ฅํ๋ฉด ์ค๋ฐ๊ฟ์ผ๋ก ๊ฐ์์ฑ ์ข๊ฒ ์ต์ ์ ๋ ฅ ๊ฐ๋ฅ
- mysql 5.7๋ฒ์ ์ด๋ฏธ์ง๊ฐ ์๋ค๋ฉด, ์ด๋ฏธ์ง ๋ค์ด๋ก๋๊ฐ ์๋์ผ๋ก ์คํ ๋จ
- ์ปจํ ์ด๋ ์ด๋ฆ์ โwordpressdbโ, db ๋น๋ฐ๋ฒํธ๋ โpasswordโ๋ก ํ๊ฒฝ๋ณ์ ์ค์ ํจ.
3-2. wordpress ์ปจํ ์ด๋๋ฅผ ๋ง๋ค์ด mysql ์ปจํ ์ด๋์ ์ฐ๊ฒฐ
docker run -d\
-e WORDPRESS_DB_HOST=mysql\
-e WORDPRESS_DB_SUER=root\
-e WORDPRESS_DB_PASSWORD=password\
--name wordpress\
--link wordpressdb:mysql\
-p 80\
wordpress
- wordpress์ DB๋ก 1๋ฒ์ mysql์ ์ง์ ํ๊ธฐ ์ํด โlink ์ฌ์ฉ + -e ๋ก ์ ์์ ๋ณด ์ค์
- wordpress์ ์ปจํ ์ด๋ ์ด๋ฆ์ โwordpressโ
- ์ปจํ ์ด๋ ํฌํธ๋ 80์ผ๋ก ์ค์ .
-
์ปจํ ์ด๋ ํ์ธ
โ
docker ps
๋ก ํ์ธโ wordpress์ mysql:5.7์ ์ปจํ ์ด๋๊ฐ ์ ์์ ์ผ๋ก ๋ง๋ค์ด์ง
โ wordpress์ ๋ถ์ฌ๋ ํธ์คํธ ํฌํธ ๋ฒํธ๋ 49153
3-3. wordpress ์ปจํ ์ด๋ ํฌํธ๋ฒํธ๋ฅผ ec2 ๋ณด์๊ทธ๋ฃน์ ์ถ๊ฐ
3-4. ์ ์
- ec2 ์ฃผ์ : ํฌํธ๋ฒํธโ ์ธํฐ๋ท ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ ์ ๋ ฅ
Leave a comment