docker create
λͺ
λ Ήμ μ¬μ©νμ¬docker start
λͺ
λ Ήμ μ¬μ©νμ¬ μ»¨ν
μ΄λλ₯Ό μ€ννλ€.docker pause
λͺ
λ Ήμ μ¬μ©νμ¬ μ€ν μ€μΈdocker unpause
λͺ
λ Ήμ μ¬μ©νμ¬ λ€μ μ€νν μ μλ€.docker stop
λλ βdocker killβ λͺ
λ Ήμ μ¬μ©νμ¬docker rm
λͺ
λ Ήμ μ¬μ©νμ¬ μ μ§λ 컨ν
μ΄λλ₯Όλ컀 컨ν μ΄λλ μμ±νκ²λλ©΄ κΈ°λ³Έμ μΌλ‘ λ©μΆ°μλ μνλ‘ μμλλ€. λ°λΌμ, μ΄λ₯Ό μμμμΌ μ£Όλλ‘ νμ.
# 컨ν
μ΄λ νμΈ
docker ps -a
# 컨ν
μ΄λ μμ / containerλ μλ΅κ°λ₯
docker (container) start 914956d407a0
docker (container) start nginx
nginxμ κ°μ μΉ νκ²½μ 컨ν
μ΄λλ κ³μν΄μ λμνμ§λ§, μ΄μ λ°λλ‘ μ°λΆν¬μ κ°μ κ²½μ°λ μ ν리μΌμ΄μ
μ΄ μ€νλμ§λ§μ μ’
λ£λλ€.
μ°λΆν¬μ κ°μ μ€μ λ‘ OSμ μ κ·Όνλ κ²½μ°λ μ΄λ»κ² ν΄μΌ μ¦μ 컨ν μ΄λκ° μ’ λ£λλ κ²μ λ§μ μ μμκΉ?
# containerμ μλ΅ κ°λ₯
docker (container) create -it --name=ubuntu1 ubuntu:latest
# λ컀 컨ν
μ΄λ μμ
docker (container) start ubuntu1
# 컨ν
μ΄λ νμΈ / ps -a λ container ls -aμ λμΌ
docker ps -a
# 컨ν
μ΄λμ μ°λΆν¬ μλ²μ μ μ
docker (container) attach ubuntu1
μμμ μμΌλ μ¦μ 컨ν μ΄λκ° μ’ λ£λμ§ μκ³ λ¨μμλ κ²μ νμΈν μ μλ€.
μ΄λ -it
μ΅μ
μ μ¬μ©νμ¬ λνν(interactive) ν°λ―Έλμ νμ±ννλ©΄ 컨ν
μ΄λκ° μ’
λ£λμ§ μκ³ κ³μ μ€νλλλ‘ νμκΈ° λλ¬Έμ΄λ€.
μ΄μ μ μν΄λ³΄μ. 컨ν μ΄λκ° μ¦μ μ’ λ£λμ§ μμμΌλ―λ‘ bash μλ‘ μ μν μ μκ² λμλ€.
μμμ λκ°λ³΄μ. exit
λ₯Ό μ
λ ₯ν΄μ νμ¬ μ μν 리λ
μ€ μμμ λκ°λ©΄ μ΄λ€ νμμ΄ λ°μν κΉ?
β μ¦μ μ’ λ£λμ΄λ²λ¦°λ€..
κ·Έλ λ€λ©΄ κ³μ μ΄λ κ² λκ°λλ§λ€ λ€μ start
λͺ
λ Ήμ΄λ₯Ό ν΅ν΄μ 컨ν
μ΄λλ₯Ό μμν΄ μ€μΌν κΉ?
Ctrl + P, Ctrl + Q: νμ¬ attach λͺ¨λμμ λΉ μ Έλμ κΈ°μ‘΄ νκ²½μΌλ‘ λμκ°λ€.
μ¦, Ctrl + P
λ₯Ό λλ₯Έ ν Ctrl + Q
λ₯Ό λλ₯΄λ©΄ 컨ν
μ΄λμ ν°λ―Έλμ λ λ λ°±κ·ΈλΌμ΄λλ‘ λμκ° μ μλ€ =. μ΄λ κ² νλ©΄ 컨ν
μ΄λλ κ³μ μ€νλμ§λ§, 컨ν
μ΄λ ν°λ―Έλκ³Όμ μ°κ²°μ΄ ν΄μ λλ€.
π§ μ₯? κ·Έλ₯ νλ‘μΈμ€λ₯Ό Ctril+ Zλ‘ λ€μμ κ³μ μ€νλλλ‘ νλ©΄ μλλμ?
Ctrl + Z
λ₯Ό λλ₯΄λ κ²μ νλ‘μΈμ€ μμ²΄κ° λ€λ‘ λΉ μ Έμ μ΄μνκ² λμν μ μμΌλ―λ‘ λ°±κ·ΈλΌμ΄λλ‘ λμκ°λ λ°©λ²μΈ Ctrl + P + Q
λ₯Ό μ¬μ©νλλ‘ νμ.
μ μ ν μ€μκ°μΌλ‘ νμΈ κ°λ₯
docker container states bf2197e54575
docker run
λͺ
λ Ήμ΄λ₯Ό μ°λ©΄ μμ λͺ¨λ κ³Όμ μ ν¨κ» μΈ μ μλ€.
create
νλ©΄μ λ°λ‘ start
λ₯Ό ν΅ν΄ 컨ν
μ΄λλ₯Ό λμμν€κ³ , μ΄ν 컨ν
μ΄λ μ μκΉμ§(attach
) μννλ€.
docker run -it --name=myubuntu ubuntu:latest /bin/bash
# κΈ°λ³Έ μ°λΆν¬
docker container run --name=ubuntu00 -d ubuntu:latest /bin/bash -c 'ls'
# μνμΈ
docker container run --name=alpine_ubuntu -d alpine:latest "ls"
μ΄λ 컨ν
μ΄λλ₯Ό μμ± λ° λ°°ν¬νλ©΄μ 리λ
μ€ μμ ls
λͺ
λ Ήμ΄λ₯Ό μ
λ ₯νλ μμ μ΄λ€.
κ°κ° ubuntu 리λ
μ€
μ alpine 리λ
μ€
λ₯Ό 컨ν
μ΄λν νμ¬ λ°°ν¬νκ³ μλ€.
-d
λλ --detach
μ΅μ
μ 컨ν
μ΄λλ₯Ό μ€νν ν 컨ν
μ΄λμ μΆλ ₯μ νμνμ§ μκ³ , 컨ν
μ΄λλ₯Ό λ°±κ·ΈλΌμ΄λμμ μ€ννλλ‘ νλ€.
alpine 리λ
μ€
μλ -c μ΅μ
μ΄ λ€μ΄κ°μ§ μλλ€. -c μ΅μ
μ μλ―Έλ λ¬Έμμ΄(char)λ‘ λͺ
λ Ήμ μ λ¬νλλ‘ νλ κ²μ΄λ€.
ubuntuμμ ls
λͺ
λ Ήμ΄λ λ°μ΄λ리 νμΌμ΄λ©°, μμ λ±λ‘λ λͺ
λ Ήμ΄κ° μλλ€. λ°λΌμ /bin/bash
μμ μ§μ ls
λ₯Ό μ€ννλ €κ³ νλ©΄ "cannot execute binary file"μ κ°μ μ€λ₯κ° λ°μνλ€.
λ°λΌμ ubuntuμ /bin/bash
μμ ls
λͺ
λ Ήμ΄λ₯Ό μ€ννλ €λ©΄ -c
μ΅μ
μ μ¬μ©νμ¬ λ¬Έμμ΄λ‘ λͺ
λ Ήμ΄λ₯Ό μ λ¬ν΄μΌνλ€.
νμ§λ§ μνμΈ λ¦¬λ
μ€μ κ²½μ°μλ ls
κ° κΈ°λ³Έμ μΌλ‘ λͺ
λ Ήμ΄λ‘ μ§μ λμ΄ μμΌλ―λ‘ -c
μ΅μ
μ΄ μμ΄λ μ μμ μΌλ‘ λμνλ€.
execλ₯Ό ν΅ν΄μ 컨ν
μ΄λ νκ²½μ λͺ
λ Ήμ΄λ₯Ό λ£κ³ , μ΄μ λν κ²°κ³Όλ₯Ό 컨ν
μ΄λ λ°μ νΈμ€νΈ νκ²½μμ νμΈν μ μλ€.
docker container stop hello
docker container start hello
docker pause my_nginx
docker unpause my_nginx
--restart=always μ΅μ μ μΆκ°νλ€.
μΌλ°μ μΌλ‘ λ컀 컨ν
μ΄λμ μ°λΆν¬(리λ
μ€)λ₯Ό λ°°ν¬νκ³ , μ΄λ₯Ό μ μ(attach)νκ³ exit
λ₯Ό ν΅ν΄μ shellμ λκ°κ² λλ©΄ shellμ΄ μ’
λ£λκ² λλ€.
νμ§λ§ λ°°ν¬ν λ, --restart=always μ΅μ μ μΆκ°νλ€λ©΄, 컨ν μ΄λκ° μ’ λ£λμμ λ μλμΌλ‘ λ€μ μμλλλ‘ μ€μ ν μ μλ€.