[Docker/λ컀] 컨ν μ΄λ μ€ν, νμΈ, μμ λͺ λ Ήμ΄ μ 리
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