์ด๋ฏธ์ง(Image) ๋ค์ด๋ก๋
[์ต์ ๋ฒ์ (latest) ์ด๋ฏธ์ง ๋ค์ด๋ก๋]
# docker pull ์ด๋ฏธ์ง๋ช
$ docker pull nginx # docker pull nginx:latest์ ๋์ผํ๊ฒ ์๋
์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ ๋ Dockerhub์ด๋ผ๋ ๊ณณ์์ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ฐ๋๋ค.
Dockerhub๋ ์ฌ๋๋ค์ด ์ฌ๋ ค๋์ ์ด๋ฏธ์ง๋ค์ด ์ ์ฅ๋์ด ์์ด์ pull๋ก ๋ค์ด๋ฐ์์ ์ฌ์ฉํ ์ ์๋ค.
Dockerhub์ Github์ฒ๋ผ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅ ๋ฐ ๋ค์ด๋ฐ์ ์ ์๋ ์ ์ฅ์ ์ญํ ์ ํ๊ณ ์๋ค.
[ํน์ ๋ฒ์ ์ด๋ฏธ์ง ๋ค์ด๋ก๋]
# docker pull ์ด๋ฏธ์ง๋ช
:ํ๊ทธ๋ช
$ docker pull nginx:stable-perl
๐ ํน์ ๋ฒ์ ์ ๋ํ๋ด๋ ์ด๋ฆ์ ํ๊ทธ๋ช ์ด๋ผ๊ณ ํ๋ค. ํ๊ทธ๋ช ์ dockerhub์์ ํ์ธํ ์ ์๋ค.
์ด๋ฏธ์ง(Image) ์กฐํ/์ญ์
๋ค์ด๋ฐ์ ๋ชจ๋ ์ด๋ฏธ์ง ์กฐํ
$ docker image ls
๐ ls: list์ ์ฝ์
๐ REPOSITORY: ์ด๋ฏธ์ง ์ด๋ฆ(์ด๋ฏธ์ง๋ช
)
๐ TAG: ์ด๋ฏธ์ง ํ๊ทธ๋ช
๐ IMAGE ID: ์ด๋ฏธ์ง ID
๐ CREATED: ์ด๋ฏธ์ง๊ฐ ์์ฑ๋ ๋ ์ง (๋ค์ด๋ฐ์ ๋ ์ง X)
๐ SIZE: ์ด๋ฏธ์ง ํฌ๊ธฐ
์ด๋ฏธ์ง ์ญ์
[ํน์ ์ด๋ฏธ์ง ์ญ์ ]
$ docker image rm [์ด๋ฏธ์ง ID ๋๋ ์ด๋ฏธ์ง๋ช
]
๐ rm: remove์ ์ฝ์
๐ ์ด๋ฏธ์ง ID๋ฅผ ์
๋ ฅํ ๋ ์ ์ฒด ID๋ฅผ ๋ค ์
๋ ฅํ์ง ์๊ณ ID์ ์ผ๋ถ๋ง ์
๋ ฅํด๋ ๋๋ค.
(ID์ ์ผ๋ถ๋ง ์
๋ ฅํ์ ๋ ์
๋ ฅํ ID์ ์ผ๋ถ๋ฅผ ๊ฐ์ง ์ด๋ฏธ์ง๊ฐ ๋จ 1๊ฐ์ฌ์ผ ํ๋ค.)
๐ ์ปจํ
์ด๋์์ ์ฌ์ฉํ๊ณ ์์ง ์์ ์ด๋ฏธ์ง๋ง ์ญ์ ๊ฐ๋ฅํ๋ค.
[์ค์ง๋ ์ปจํ ์ด๋์์ ์ฌ์ฉํ๊ณ ์๋ ์ด๋ฏธ์ง ๊ฐ์ ์ญ์ ํ๊ธฐ]
$ docker image rm -f [์ด๋ฏธ์ง ID ๋๋ ์ด๋ฏธ์ง๋ช
]
๐ ์คํ ์ค์ธ ์ปจํ ์ด๋์์ ์ฌ์ฉํ๊ณ ์๋ ์ด๋ฏธ์ง๋ ๊ฐ์ ๋ก ์ญ์ ํ ์ ์๋ค.
[์ ์ฒด ์ด๋ฏธ์ง ์ญ์ ]
# ์ปจํ
์ด๋์์ ์ฌ์ฉํ๊ณ ์์ง ์์ ์ด๋ฏธ์ง๋ง ์ ์ฒด ์ญ์
$ docker image rm $(docker images -q)
# ์ปจํ
์ด๋์์ ์ฌ์ฉํ๊ณ ์๋ ์ด๋ฏธ์ง๋ฅผ ํฌํจํด์ ์ ์ฒด ์ด๋ฏธ์ง ์ญ์
$ docker image rm -f $(docker images -q)
๐ docker images -q: ์์คํ ์ ์๋ ๋ชจ๋ ์ด๋ฏธ์ง์ ID๋ฅผ ๋ฐํํ๋ค. ์ฌ๊ธฐ์ -q ์ต์ ์ quite๋ฅผ ์๋ฏธํ๋ฉฐ, ์์ธ ์ ๋ณด ๋์ ์ ๊ฐ ์ด๋ฏธ์ง์ ๊ณ ์ ํ ID๋ง ํ์ํ๋๋ก ์ง์ํ๋ค.
์ปจํ ์ด๋(Container) ์์ฑ/์คํ
์ปจํ ์ด๋ ์์ฑ
# docker create ์ด๋ฏธ์ง๋ช
[:ํ๊ทธ๋ช
]
$ docker create nginx
$ docker ps -a # ๋ชจ๋ ์ปจํ
์ด๋ ์กฐํ
๐ ์ด๋ฏธ์ง๋ฅผ ๋ฐํ์ผ๋ก ์ปจํ
์ด๋๋ฅผ ์์ฑํ๋ค. ์ด๋, ์ปจํ
์ด๋๋ฅผ ์คํ์ํค์ง๋ ์๋๋ค.
(์ปจํ
์ด๋๋ฅผ ์คํํ์ง ์๊ณ ์์ฑ๋ง ํ๋ ๊ฒฝ์ฐ๊ฐ ์ ์์ด์, ์ด ๋ช
๋ น์ด๋ ์ ์ฌ์ฉํ์ง ์๋๋ค.)
๐ ๋ก์ปฌ ํ๊ฒฝ์์ ๋ค์ด๋ฐ์ ์ด๋ฏธ์ง๊ฐ ์๋ค๋ฉด Dockerhub์ผ๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด(docker pull) ๋ฐ์์ ์ปจํ
์ด๋๋ฅผ ์์ฑํ๋ค.
์ปจํ ์ด๋ ์คํ
# docker start ์ปจํ
์ด๋๋ช
[๋๋ ์ปจํ
์ด๋ ID]
$ docker start ์ปจํ
์ด๋๋ช
[๋๋ ์ปจํ
์ด๋ ID]
$ docker ps # ์คํ์ค์ธ ์ปจํ
์ด๋ ์กฐํ
# Nginx ์ปจํ
์ด๋ ์ค๋จ ํ ์ญ์ ํ๊ธฐ
$ docker ps # ์คํ ์ค์ธ ์ปจํ
์ด๋ ์กฐํ
$ docker stop {nginx๋ฅผ ์คํ์ํจ Contnainer ID} # ์ปจํ
์ด๋ ์ค๋จ
$ docker rm {nginx๋ฅผ ์คํ์ํจ Contnainer ID} # ์ปจํ
์ด๋ ์ญ์
$ docker image rm nginx # Nginx ์ด๋ฏธ์ง ์ญ์
๐ ์ ์ง๋์ด ์๋ ์ปจํ ์ด๋๋ฅผ ์คํ์ํจ๋ค.
์ปจํ ์ด๋ ์์ฑ + ์คํ
# docker run ์ด๋ฏธ์ง๋ช
[:ํ๊ทธ๋ช
]
$ docker run nginx # ํฌ๊ทธ๋ผ์ด๋์์ ์คํ (์ถ๊ฐ์ ์ธ ๋ช
๋ น์ด ์กฐ์์ ํ ์๊ฐ ์์)
# Ctrl + C๋ก ์ข
๋ฃํ ์ ์์
๐ ์ด๋ฏธ์ง๋ฅผ ๋ฐํ์ผ๋ก ์ปจํ
์ด๋๋ฅผ ์์ฑํ ๋ค, ์ปจํ
์ด๋๋ฅผ ์คํ๊น์ง ์ํจ๋ค.
(์ฒ์์ ์ด๋ฏธ์ง๋ฅผ ๋ฐํ์ผ๋ก ์ปจํ
์ด๋๋ฅผ ์คํ์ํค๊ณ ์ถ์ ๋, ์ด ๋ช
๋ น์ด๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ค.)
๐ ๋ก์ปฌ ํ๊ฒฝ์ ๋ค์ด๋ฐ์ ์ด๋ฏธ์ง๊ฐ ์๋ค๋ฉด Dockerhub๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด(docker pull)๋ฐ์์ ์คํ์ํจ๋ค.
๐ Dockerhub๋ก๋ถํฐ ์๋กญ๊ฒ ๊ฐฑ์ ๋ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ฐ๊ณ ์ถ๋ค๋ฉด docker pull ๋ช
๋ น์ด๋ฅผ ํ์ฉํด์ผ ํ๋ค.
ํฌ๊ทธ๋ผ์ด๋
๋ด๊ฐ ์คํ์ํจ ํ๋ก๊ทธ๋จ์ ๋ด์ฉ์ด ํ๋ฉด์์ ์คํ๋๊ณ ์ถ๋ ฅ๋๋ ์ํ๋ฅผ ๋ปํ๋ค. ๊ทธ๋ฌ๋ค ๋ณด๋ ํฌ๊ทธ๋ผ์ด๋ ์ํ์์๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์กฐ์ํ ์ ์๋ค.
๋ฐฑ๊ทธ๋ผ์ด๋
๋ด๊ฐ ์คํ์ํจ ํ๋ก๊ทธ๋จ์ด ์ปดํจํฐ ๋ด๋ถ์ ์ผ๋ก ์คํ๋๋ ์ํ๋ฅผ ์๋ฏธํ๋ค. ๊ทธ๋์ ํ๋ก๊ทธ๋จ์ด ์ด๋ป๊ฒ ์คํ๋๊ณ ์๋์ง์ ๋ํ ์ ๋ณด๋ฅผ ํ๋ฉด์์ ํ์ธํ ์ ์๋ค. ์ด๋ฐ ํน์ฑ ๋๋ฌธ์ ๋ค๋ฅธ ๋ช ๋ น์ด๋ฅผ ์ถ๊ฐ๋ก ์ ๋ ฅํ ์๋ ์๊ณ , ์๋ก์ด ํ๋ก๊ทธ๋จ์ ์กฐ์ํ ์ ์๋ค.
[์ปจํ ์ด๋๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ]
# docker run -d ์ด๋ฏธ์ง๋ช
[:ํ๊ทธ๋ช
]
$ docker run -d nginx
# Nginx ์ปจํ
์ด๋ ์ค๋จ ํ ์ญ์ ํ๊ธฐ
$ docker ps # ์คํ ์ค์ธ ์ปจํ
์ด๋ ์กฐํ
$ docker stop {nginx๋ฅผ ์คํ์ํจ Contnainer ID} # ์ปจํ
์ด๋ ์ค๋จ
$ docker rm {nginx๋ฅผ ์คํ์ํจ Contnainer ID} # ์ปจํ
์ด๋ ์ญ์
$ docker image rm nginx # Nginx ์ด๋ฏธ์ง ์ญ์
[์ปจํ ์ด๋์ ์ด๋ฆ ๋ถ์ฌ์ ์์ฑ ๋ฐ ์คํ]
# docker run -d --name [์ปจํ
์ด๋ ์ด๋ฆ] ์ด๋ฏธ์ง๋ช
[:ํ๊ทธ๋ช
]
$ docker run -d --name my-web-server nginx
# Nginx ์ปจํ
์ด๋ ์ค๋จ ํ ์ญ์ ํ๊ธฐ
$ docker ps # ์คํ ์ค์ธ ์ปจํ
์ด๋ ์กฐํ
$ docker stop {nginx๋ฅผ ์คํ์ํจ Contnainer ID} # ์ปจํ
์ด๋ ์ค๋จ
$ docker rm {nginx๋ฅผ ์คํ์ํจ Contnainer ID} # ์ปจํ
์ด๋ ์ญ์
$ docker image rm nginx # Nginx ์ด๋ฏธ์ง ์ญ์
[ํธ์คํธ์ ํฌํธ์ ์ปจํ ์ด๋์ ํฌํธ๋ฅผ ์ฐ๊ฒฐ]
# docker run -d -p [ํธ์คํธ ํฌํธ]:[์ปจํ
์ด๋ ํฌํธ] ์ด๋ฏธ์ง๋ช
[:ํ๊ทธ๋ช
]
$ docker run -d -p 4000:80 nginx
๐ docker run -p 4000:80๋ผ๊ณ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด, ๋์ปค๋ฅผ ์คํํ๋ ํธ์คํธ์ 4000๋ฒ ํฌํธ๋ฅผ ์ปจํ ์ด๋์ 80๋ฒ ํฌํธ๋ก ์ฐ๊ฒฐํ๋๋ก ์ค์ ํ๋ค.
์ปจํ ์ด๋(Container) ์กฐํ/์ค์ง/์ญ์
์ปจํ ์ด๋ ์กฐํ
[์คํ ์ค์ธ ์ปจํ ์ด๋๋ค๋ง ์กฐํ]
$ docker ps
๐ ps: process status์ ์ฝ์
[๋ชจ๋ ์ปจํ ์ด๋ ์กฐํ (์๋ ์ค์ธ ์ปจํ ์ด๋ + ์๋์ ๋ฉ์ถ ์ปจํ ์ด๋)]
$ docker ps -a
๐ -a: all์ ์ฝ์
์ปจํ ์ด๋ ์ค์ง
$ docker stop ์ปจํ
์ด๋๋ช
[๋๋ ์ปจํ
์ด๋ ID]
$ docker kill ์ปจํ
์ด๋๋ช
[๋๋ ์ปจํ
์ด๋ ID]
๐ stop์ ์์คํ ์ข ๋ฃ ๋ฒํด์ ํตํด ์ ์์ ์ผ๋ก ์ปดํจํฐ๋ฅผ ์ข ๋ฃ, kill์ ๋ณธ์ฒด ๋ฒํผ์ ๋๋ฌ ๋ฌด์ํ๊ฒ ์ข ๋ฃ
์ปจํ ์ด๋ ์ญ์
[์ค์ง๋์ด ์๋ ์ปจํ ์ด๋ ์ญ์ ]
$ docker rm ์ปจํ
์ด๋๋ช
[๋๋ ์ปจํ
์ด๋ ID]
๐ ์คํ ์ค์ธ ์ปจํ ์ด๋๋ ์ค์งํ ํ์๋ง ์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ค.
[์คํ๋๊ณ ์๋ ํน์ ์ปจํ ์ด๋ ์ญ์ ]
$ docker rm -f ์ปจํ
์ด๋๋ช
[๋๋ ์ปจํ
์ด๋ ID]
[์ค์ง๋์ด ์๋ ๋ชจ๋ ์ปจํ ์ด๋ ์ญ์ ]
$ docker rm $(docker ps -qa)
[์คํ๋๊ณ ์๋ ๋ชจ๋ ์ปจํ ์ด๋ ์ญ์ ]
$ docker rm -f $(docker ps -qa)
์ปจํ ์ด๋(Container) ๋ก๊ทธ ์กฐํ
์ปจํ ์ด๋๋ฅผ ์คํ์ํค๊ณ ๋์ ์คํ์ํจ ์ปจํ ์ด๋๊ฐ ์ ์คํ๋๊ณ ์๋์ง, ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฑด ์๋์ง ๋ก๊ทธ๋ฅผ ํ์ธํ ์ ์์ด์ผ ํ๋ค.
์ปจํ ์ด๋ ๋ก๊ทธ ์กฐํ
[ํน์ ์ปจํ ์ด๋์ ๋ชจ๋ ๋ก๊ทธ ์กฐํ]
# docker logs [์ปจํ
์ด๋ ID ๋๋ ์ปจํ
์ด๋๋ช
]
$ docker run -d nginx
$ docker logs [nginx๊ฐ ์คํ๋๊ณ ์๋ ์ปจํ
์ด๋ ID]
[์ต๊ทผ ๋ก๊ทธ 10์ค๋ง ์กฐํ]
# dokcer logs --tail [๋ก๊ทธ ๋๋ถํฐ ํ์ํ ์ค ์] [์ปจํ
์ด๋ ID ๋๋ ์ปจํ
์ด๋๋ช
]
$ dokcer logs --tail 10 [์ปจํ
์ด๋ ID ๋๋ ์ปจํ
์ด๋๋ช
]
[๊ธฐ์กด ๋ก๊ทธ ์กฐํ + ์์ฑ๋๋ ๋ก๊ทธ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ณด๊ณ ์ถ์ ๊ฒฝ์ฐ]
# docker logs -f [์ปจํ
์ด๋ ID ๋๋ ์ปจํ
์ด๋๋ช
]
# Nginx์ ์ปจํ
์ด๋์ ์ค์๊ฐ์ผ๋ก ์์ด๋ ๋ก๊ทธ ํ์ธํ๊ธฐ
$ docker run -d -p 80:80 nginx
$ docker logs -f
๐ -f: follow์ ์ฝ์ด
[๊ธฐ์กด ๋ก๊ทธ๋ ์กฐํํ์ง ์๊ธฐ + ์์ฑ๋๋ ๋ก๊ทธ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ณด๊ณ ์ถ์ ๊ฒฝ์ฐ]
$ docker logs --tail 0 -f [์ปจํ
์ด๋ ID ๋๋ ์ปจํ
์ด๋๋ช
]
์คํ์ค์ธ ์ปจํ ์ด๋ ๋ด๋ถ์ ์ ์ํ๊ธฐ
# docker exec -it ์ปจํ
์ด๋๋ช
[๋๋ ์ปจํ
์ด๋ ID] bash
$ docker run -d nginx
$ docker exec -it [Nginx๊ฐ ์คํ๋๊ณ ์๋ ์ปจํ
์ด๋ ID] bash
$ ls # ์ปจํ
์ด๋ ๋ด๋ถ ํ์ผ ์กฐํ
$ cd /etc/nginx
$ cat nginx.conf
๐ ์ปจํ
์ด๋ ๋ด๋ถ์์ ๋์ค๋ ค๋ฉด Ctrl + D ๋๋ exit์ ์
๋ ฅํ๋ฉด ๋๋ค.
๐ bash: ์(Shell)์ ์ผ์ข
๐ -it: -it ์ต์
์ ์ฌ์ฉํด์ผ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์๋ค. -it ์ต์
์ ์ ์ง ์์ผ๋ฉด ๋ช
๋ น์ด๋ฅผ 1๋ฒ๋ง ์คํ์ํค๊ณ ์ข
๋ฃ๋์ด ๋ฒ๋ฆฐ๋ค. -it ์ต์
์ ์ ์ด์ผ ๊ณ์ํด์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ ์ ์๋ค.