1. Docker Container ํ์ฌ ์คํ์ค์ธ ๋ชฉ๋ก ํ์ธ
$ docker ps
$ docker container ls
2. Docker Container ๋ชจ๋ ์ปจํ ์ด๋ ํ์ผ ๋ชฉ๋ก ํ์ธ
$ docker ps -a
$ docker container ls -a
ํ์ฌ Docker ํธ์คํธ์ ์กด์ฌํ๋ ๋ชจ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก์ด ๋ณด์ธ๋ค.
3. Docker Container ์์ฑ
$ docker container create —name CONTAINER IMAGE_REPO:TAG
$ docker create —name CONTAINER IMAGE_REPO:TAG
๋ ๋ช ๋ น์ด๋ ๋์ผํ๋ค.
docker create ๋ช ๋ น์ด์ ์ต์
-i : ์ปจํ
์ด๋์์ ํ์ค ์
๋ ฅ ์ ์งํ๊ธฐ
-t : ์ปจํ
์ด๋์ ๊ฐ์ ํฐ๋ฏธ๋ ์ง์
--name : ์ปจํ
์ด๋์ ์ด๋ฆ ์ง์ . ์ง์ ํ์ง ์๋ ๊ฒฝ์ฐ ๋์ปค์์ ๋๋คํ ์ด๋ฆ์ด ๋ถ๊ฒ ๋๋ค.
[์์]
[user@localhost ~]$ docker container create --name web1 httpd:latest da54f9195b848cce193cb2032856d1b9f1326095f5ab950f6593e83829f397fe
์ด๋ ์ถ๋ ฅ๋๋ ๊ฐ์ Container์ id๊ฐ์ด๋ค.
[์์] centos ์ด๋ฏธ์ง ํ์ผ๋ก os1์ด๋ผ๋ ์ปจํ ์ด๋๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด์ด๋ค. ์ด ๊ฒฝ์ฐ ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ ํ์ค ์ ๋ ฅ๊ณผ ๊ฐ์ ํฐ๋ฏธ๋ ์ง์ ์ด ํ์ํ๋ค. ๋ฐ๋ผ์ -i ์ต์ ๊ณผ -t ์ต์ ์ ๋ถ์ฌ์ฃผ์ด์ผ ํ๋ค.
[user@localhost ~]$ docker create -it --name os1 centos:latest
4. Docker Container ์คํ
์ด๋ฏธ ์์ฑ๋ ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ ๋ช ๋ น์ด์ด๋ค. ๋ ๋ช ๋ น์ด๋ ๋์ผํ๋ค.
$ docker container start CONTAINER
$ docker start CONTAINER
[์์]
os1์ด๋ผ๋ ์ด๋ฆ์ centos ์ปจํ ์ด๋๋ฅผ ์คํ ์ํค๋ ๊ณผ์ ์ด๋ค. ์ฃผ์ํ ์ ์ ์ปจํ ์ด๋์ ํ์ค ์ถ๋ ฅ๊ณผ ํ์ค ์ ๋ ฅ์ ์ฐ๊ฒฐํด์ผ os1 ์ปจํ ์ด๋๋ฅผ ์์ํ ์ ์๋ค๋ ์ ์ด๋ค.
-i ์ต์
: ์ปจํ
์ด๋์ ํ์ค ์
๋ ฅ์ ์ฐ๊ฒฐ
-a ์ต์
: ์ปจํ
์ด๋์ ํ์ค ์ถ๋ ฅ/์๋ฌ์ ์ฐ๊ฒฐ
[user@localhost ~]$ docker container start -ai os1
[root@c42056913b24 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
os1 ์ด๋ผ๋ ์ด๋ฆ์ ์ปจํ
์ด๋๋ก ์ ์ํ ์์์ด๋ค. ์ฃผ์ํ ์ ์ Docker host์ root ์ Container์ root ๋ ๋ค๋ฅด๋ค๋ ๊ฒ์ด๋ค.
- Ctrl + P + Q : ๋์ปค ํธ์คํธ๋ก ๋์์ด. ์ด ๊ฒฝ์ฐ ์ปจํ ์ด๋๋ ๊ณ์ ์คํ์ํ์ด๋ค.
- exit : ๋์ปค ํธ์คํธ๋ก ๋์์ด. ๊ทธ๋ฌ๋ ์ด ๊ฒฝ์ฐ ์ปจํ ์ด๋๊ฐ ์ข ๋ฃ ๋๋ค.
5. Docker Container ์์ธ ์ ๋ณด ํ์ธ
$ docker container inspect CONTAINER_NAME
[์์] inspect ๋ช
๋ น์ด์ grep ๋ช
๋ น์ด๋ฅผ ๊ฐ์ด ์ด์ฉํด์ ํ์ํ ๋ถ๋ถ์ ๋ฐ๋ก ์ถ๋ ฅํ ์ ์๋ค.
[user@localhost ~]$ docker container inspect web1 | grep -i ipaddress
"SecondaryIPAddresses": null, "IPAddress": "172.17.0.2", "IPAddress": "172.17.0.2",
[user@localhost ~]$ curl http://172.17.0.2 <html><body><h1>It works!</h1></body></html>
6. Docker Container ์คํ ๋ช ๋ น์ด run
์ปจํ ์ด๋๋ฅผ ์์ฑ + ์คํ ํ๋ ๋ช ๋ น์ด์ด๋ค. ์ฆ , docker create ์ docker start๋ฅผ ํ๋ฒ์ ์คํํ ์ ์๋ค.
$ docker run -it —name os2 centos:latest
-i : ํ์ค์
๋ ฅ์ ์ปจํ
์ด๋์ ์ ๋ฌ
-t : ๊ฐ์ ํฐ๋ฏธ๋ ์ง์
-d : ๋ถ๋ฆฌ(detach) ์ต์
๊ทธ๋ฅ run ๋ช
๋ น์ด๋ฅผ ์คํํ์ ๋ ์ปจํ
์ด๋๋ ํฌ๊ทธ๋ผ์ด๋๋ก ์คํ๋ ๊ฒ์ด๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํ์ํค๊ธฐ ์ํ ์ต์
์ด๋ค. -> ๋ณดํต ์๋น์ค๋ก ์ ๊ณตํ๋ ๊ฒ์ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํํ๋ค. ๋ค๋ฅธ ์์
์ ํ๊ธฐ ์ํด์๋ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํ์ํค๋ ๊ฒ์ด ํธ๋ฆฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
- ํฌ๊ทธ๋ผ์ด๋/๋ฐฑ๊ทธ๋ผ์ด๋ → ํฐ๋ฏธ๋์ ์ ์ด๊ถ์ด ์๋์ง ์๋์ง or ํ๋ฉด์ ๋ณด์ด๋์ง ์๋์ง๋ก ๊ตฌ๋ถํ ์ ์๋ค.
๋์ปค ์์ ์์ docker run hello-world ๊ฐ ์ฒ์ ๋ฑ์ฅํ๋๋ฐ, ์ด ๊ฒฝ์ฐ ๋ํ ์ด๋ฏธ์ง ํ์ผ์ ๋์ปค ํ๋ธ์์ ๋ฐ๋ก ๋ฐ์์จ ํ์ ์คํ๊น์ง ์ํค๊ณ ์๋ค.
[์์]
shell์ ์ ์ด ํฐ๋ฏธ๋์ ๊ฐ์ ธ์์ผ ํ๋ค. ํฐ๋ฏธ๋์ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ํค๋ณด๋๋ก ์
๋ ฅํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด์ผ ํ๋ค. ํ์ค ์
๋ ฅ์ ์ฐ๊ฒฐํ์ง ์์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ํค๋ณด๋ ์
๋ ฅ (ํ์ค ์
๋ ฅ)์ด ์๋จน๋๋ค.
[root@localhost ~]# docker container run -t --name centos7-1 centos:7
[root@2bb53b79a70a /]# ls
(ํ๋ฉด์ ์๋ฌด๊ฒ๋ ์ถ๋ ฅ๋์ง ์์)
7. Docker Container ๋ฆฌ์์ค ์ฌ์ฉ๋ ํ์ธ
$ docker stats
์ปจํ ์ด๋์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ณผ ์ ์๋ค.
stats์ ์ต์ ์ผ๋ก --no stream ์ ์ธ ์ ์๋ค. ์๋๋ stats ๋ช ๋ น์ด๊ฐ ์ค์๊ฐ์ผ๋ก ๋ฆฌ์์ค ์ฌ์ฉ๋์ ๋ณด์ฌ์ฃผ๋๋ฐ --no stream ์ต์ ์ผ๋ก ์คํธ๋ฆฌ๋ฐ์ ์ถ๋ ฅํ์ง ์๊ณ ๋งจ ์ฒ์ ์ํ๋ฅผ ํ์ธํ ์ ์๋ค.
UP : ํ์ฌ ์คํ์ค์ธ ์ปจํ
์ด๋
EXIT : ์ข
๋ฃ๋ ์ปจํ
์ด๋
8. Docker Container ์ข ๋ฃ
$ docker container stop CONTAINER_NAME
9. Docker Container ์ญ์
$ docker container rm CONTAINER_NAME
$ docker rm CONTAINER_NAME
docker container rm -f : -f ์ต์ ์ ๋ถ์ด๋ฉด ์คํ๋๊ณ ์๋ ์ปจํ ์ด๋๋ฅผ ๊ฐ์ ๋ก ์ญ์ ํ๋ค.
10. Docker Container ๋ค์ ์คํ
$ docker container restart CONTAINER_NAME