๊ธฐ๋ณธ์ ์ธ ๋์ปค ๋ช
๋ น์ด
1. ๋์ปค ๋ช
๋ น์ด๋ก ์ด๋ฏธ์ง ๊ฒ์
docker search tomcat
2. ๋์ปค ์ด๋ฏธ์ง ๋ค์ด๋ก๋์ ์ญ์
#๋ค์ด๋ก๋
docker pull console/tomcat-7.0
#์ญ์
docker rmi consol/tomcat-7.0
3. ๋ก์ปฌ ์์คํ
์ ์๋ ๋์ปค ์ด๋ฏธ์ง ํ์ธํ๊ธฐ
docker images
4. ํฐ์บฃ ์ปจํ
์ด๋ ์์ฑ
docker run -d --name jh console/tomcat-7.0
- docker run ์ ์๋์ 3๊ฐ๋ฅผ ๋์์ ํ ๋ฒ์ ์งํํฉ๋๋ค.
- docker run = docker pull(์ด๋ฏธ์ง ๋ค์ด๋ก๋ ์ ๋์ด ์์ ๊ฒฝ์ฐ) + docker create(์ปจํ
์ด๋ ์์ฑ) + docker start(์์ฑ๋ ์ปจํ
์ด๋ ์คํ)
5. ์คํ ์ค์ธ ๋ชจ๋ ์ปจํ
์ด๋ ํ์ธ
docker ps -a
# -a : ๋ชจ๋ ์ปจํ
์ด๋ ํ์ธ
6. ์ปจํ
์ด๋ ์ค์ง
docker stop f6e513~
7. ์ปจํ
์ด๋ ์ญ์
docker rm f6e513~
- ์ด๋ฏธ์ง๋ฅผ ์ญ์ ํ๋ ค๋ฉด rmi
8. ๋์ปค ์ด๋ฏธ์ง ์ ๋ณด ํ์ธ
docker inspect nginx
9. ๋์ปค ์ด๋ฏธ์ง ์ ์ฅ์ ์์น ํ์ธ
# VM ๊ธฐ์ค
cd /var/lib/docker/overlay2
- Mac OS ํฐ๋ฏธ๋์์๋ Docker ์ด๋ฏธ์ง/์ปจํ
์ด๋ ์ค์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์๋ ๋๋ ํ ๋ฆฌ์ ์ง์ ์ ๊ทผํ ์ ์๋ค.
10. ๋์ปค ์ฉ๋ ํ์ธํ๊ธฐ
# ๋์ปค๊ฐ ์ค์น๋ ํ๊ฒฝ ์ฉ๋
du -sh /var/lib/docker/
# ๋์ปค ์ด๋ฏธ์ง์ ๋ํ ์ ๋ณด ์ ์ฅ ๋๋ ํ ๋ฆฌ
du -sh /var/lib/docker/image/
# ๋์ปค ์ด๋ฏธ์ง์ ํ์ผ ์์คํ
์ด ์ฌ์ฉ๋๋ ์ค์ ๋๋ ํ ๋ฆฌ
du -sh /var/lib/docker/overlay2/
# ๋์ปค ์ปจํ
์ด๋ ์ ๋ณด ์ ์ฅ ๋๋ ํ ๋ฆฌ
du -sh /var/lib/docker/containers/
11. ํฌํธ ํฌ์๋ฉ์ผ๋ก ํฐ์บฃ ์คํํ๊ธฐ
docker run -d --name tc -p 80:8080 tomcat
12. ์ปจํ
์ด๋ ๋ด๋ถ ์ ์คํ
docker exec -it tc /bin/bash
13. ์ปจํ
์ด๋ ๋ก๊ทธ ํ์ธ
docker logs tc
14. ํธ์คํธ ๋ฐ ์ปจํ
์ด๋ ๊ฐ ํ์ผ ๋ณต์ฌ
docker cp <path> <to container>:<path>
docker cp <from container>:<path> <path>
- ์ปจํ
์ด๋ ๊ฐ ์ด๋์ ๋ถ๊ฐ๋ฅ
15. ๋์ปค ์ปจํ
์ด๋ ๋ชจ๋ ์ญ์
docker stop `docker ps -a -q`
docker rm `docker ps -a -q`
- -q == --quiet ์ฝ์์ด๋ค. ์ถ๋ ฅ์ ๋จ์กฐ๋กญ๊ฒ ์ฆ, ID๋ง ์ถ๋ ฅํด๋ผ๋ ๋ป
16. ์์ ์ปจํ
์ด๋ ์์ฑ
docker run -d -p 80:8080 --rm --name tc consol/tomcat-7.0
17. ํ๊ฒฝ ๋ณ์ ์ฌ์ฉํด ๋ฐ์ดํฐ ์ ๋ฌํ๊ธฐ
docker run -d --name nx -e env_name=test1234 nginx
- -e == --env == environment variable
18. MySQL ์๋น์ค ๊ตฌ์ถ
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=`@password` -d mysql
- mysql ๊ฐ์ ๊ฒฝ์ฐ ์ด๊ธฐ ๋น๋ฐ๋ฒํธ ์ธํ
์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ํ๊ฒฝ์ค์ ์ด ๋ฐ๋์ ํ์ํจ ๋ํ key ๋ฅผ ์์๋ก ์ง์ ํ ์ ์๊ณ MYSQL_ROOT_PASSWORD ๋ก ํด์ผํจ
๋ณผ๋ฅจ ๋ง์ดํธ
19. ๋ณผ๋ฅจ ๋ง์ดํธ (์ฌ์ฉํด์ ๋ก์ปฌ ํ์ผ ๊ณต์ ํ๊ธฐ)
docker run -v <ํธ์คํธ ๊ฒฝ๋ก>:<์ปจํ
์ด๋ ๋ด ๊ฒฝ๋ก>:<๊ถํ>
# /tmp:home/user:ro
- ro : ์ฝ๊ธฐ ์ ์ฉ
- rw : ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ
20. Nginx๋ก ๋ณผ๋ฅจ ๋ง์ดํธ ํ๊ธฐ
docker run -d -p 80:80 --rm -v /var/www:/usr/share/nginx/html:ro nginx
๋์ปค ์ด๋ฏธ์ง ํธ์ (public, private)
public
21. ๋์ปค ์ด๋ฏธ์ง ํธ์
docker login
docker tag echo_test jihopark/echo_test:v3.7
docker images
docker push jihopark/echo_test:v3.7
- docker ํ๋ธ์ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฆฌ๊ธฐ ์ํด์๋ CLI์์ docker login์ ์ฐ์ ํด์ค๋๋ค.
- ์ดํ, image ์ด๋ฆ์ docker login id๋ฅผ ์๋์ ๋๊ณ ๋ค์๋ ์ด๋ฏธ์ง ์ด๋ฆ ๋ฐ ๋ฒ์ ์ ์์ฑ ํด์ฃผ๋ ์์
์ด ํ์ํฉ๋๋ค.
- docker tag echo_test jihopark/echotest:v3.7
- docker images๋ก ์ด๋ฏธ์ง๊ฐ ์ถ๊ฐ ๋์๋์ง ํ์ธํฉ๋๋ค.
- ์ต์ข
์ ์ผ๋ก jihopark์ด id์ธ docker ํ๋ธ์ push ๋ช
๋ น์ด๋ฅผ ํตํด ์
๋ก๋ ํด์ค๋๋ค.
22. ๋์ปค ์ด๋ฏธ์ง ํ์คํ ๋ฆฌ ํ์ธ
docker history jihopark/echo_test
- ์ด ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ปค ์ด๋ฏธ์ง๊ฐ ์ด๋ค ํ์คํ ๋ฆฌ๋ฅผ ๊ฐ์ก๋์ง ํ์ธํ ์ ์์ต๋๋ค. ์ ์ผ ์๋จ์ dockerfile์ ๋น๋ํด์ ์ถ๊ฐํ ์ ๋ณด๊ฐ ์์ต๋๋ค.
private
23. private ๋ ์ง์คํธ๋ฆฌ ๊ตฌํ
docker run -d --name docker-registry -p 5000:5000 registry
- private registry๋ฅผ ๋ง๋ค์ด ์ค๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋ฅผ ์ผ์ 127.0.0.1:5000/v2/ ์๋น์ค ์ ์ ๊ฐ๋ฅํ์ง ํ์ธ ํฉ๋๋ค. ์ ์์ ์ด๋ผ๋ฉด ์์ ๊ฐ์ด ๋ณด์
๋๋ค.
docker tag echo_test 127.0.0.1:5000/echo_test
docker push 127.0.0.1:5000/echo_test
- ์์ ๋ช
๋ น์ด๋๋ก tag๋ก public๊ณผ ๋ค๋ฅด๊ฒ private ip๋ฅผ ์ถ๊ฐ ํด์ค์ผ ํฉ๋๋ค.
- ์ดํ ๋ฐ๊พผ ์ด๋ฏธ์ง ๋ช
์นญ์ผ๋ก private ์ ์ด๋ฏธ์ง๋ฅผ ํธ์ํฉ๋๋ค.
๋๊ธ