컨ν μ΄λκ° λμ§ μμλ΄€μΌλ, μ΄μ λ컀μ λν΄ μμ보μ!
λ컀λ μννΈμ¨μ΄λ₯Ό 컨ν μ΄λ μ λμΌλ‘ ν¨ν€μ§ νμ¬ μ ν리μΌμ΄μ μ μ μνκ² κ΅¬μΆνκ³ ν μ€νΈ λ° λ°°ν¬ν μ μλλ‘ λμμ£Όλ μννΈμ¨μ΄ νλ«νΌμ΄λ€. Docker hubλ‘λΆν° 컨ν μ΄λμ νμν μ΄λ―Έμ§λ€μ λ΄λ €λ°μ μ μμΌλ©°, μμμ μΈκΈνλ―μ΄ Dockerfileλ‘ λΉλ νμ¬ μ¬μ©μ μ μ μ΄λ―Έμ§λ₯Ό μμ±ν μλ μλ€.
λ컀λ λ‘컬 컨ν μ΄λλ₯Ό μ¬μ©νμ¬ κ°λ°μκ° νμ€νλ νκ²½μμ μμ ν μ μλλ‘ νμ¬ κ°λ° μλͺ μ£ΌκΈ°λ₯Ό κ°μννλ€. λλ¬Έμ CI/CD(Continuous Integration/Continuous Delivery)μ μ’λ€.
λ컀λ ν΄λΌμ΄μΈνΈ-μλ² κ΅¬μ‘°λ₯Ό μ¬μ©νλ€. λ컀 ν΄λΌμ΄μΈνΈκ° λ컀 λ°λͺ¬μ μμ²μ 보λ΄λ©΄, λ°λͺ¬μ 컨ν μ΄λλ₯Ό λΉλνκ³ μ€νμν¨λ€. ν΄λΌμ΄μΈνΈμ λ°λͺ¬μ κ°μ μμ€ν μμ μ€νλ μλ μκ³ , ν΄λΌμ΄μΈνΈλ₯Ό μ격 λ°λͺ¬μ μ°κ²°μμΌ μ¬μ©ν μλ μλ€. λμ UNIX μμΌ λλ λ€νΈμν¬ μΈν°νμ΄μ€λ₯Ό ν΅ν΄ REST APIλ‘ ν΅μ νλ€.
λ λ€λ₯Έ ν΄λΌμ΄μΈνΈλ‘λ Docker Composeκ° μλ€. Inception κ³Όμ μμ μ¬μ©ν΄μΌ νλ κ² μ€ νλμ΄λ€!
λ컀 λ°λͺ¬(dockerd) λ컀μ API μμ²μ κΈ°λ€λ¦¬κ³ μλ€κ° μ΄λ―Έμ§, 컨ν μ΄λ, λ€νΈμν¬, λ³Όλ₯¨κ³Ό κ°μ λ컀 κ°μ²΄λ λ컀 μλΉμ€μ λν μ²λ¦¬λ₯Ό νλ€.
λ컀 ν΄λΌμ΄μΈνΈλ μ¬μ©μλ€μ΄ λ컀λ₯Ό μ¬μ©νκΈ° μν΄ μ¬μ©λλ μ£Όμ λ°©λ²μ΄λ€. docker run
λ±μ λͺ
λ Ήμ΄λ₯Ό μ¬μ©νλ©΄, ν΄λΌμ΄μΈνΈλ λ컀 APIλ₯Ό μ¬μ©νμ¬ λ°λͺ¬μΌλ‘ ν΄λΉ λͺ
λ Ήμ΄λ₯Ό μ λ¬νλ€. λ컀 ν΄λΌμ΄μΈνΈλ νλ μ΄μμ λ°λͺ¬κ³Ό ν΅μ ν μ μλ€.
Mac, Windows, Linux νκ²½ λ±μ μ€μΉνμ¬ μ¬μ©ν μ μλ μ ν리μΌμ΄μ μ΄λ€. λ°λͺ¬, ν΄λΌμ΄μΈνΈ, μ»΄ν¬μ¦, μΏ λ²λ€ν°μ€ λ±μ΄ ν¬ν¨λμ΄ μλ€.
λ컀 μ΄λ―Έμ§λ₯Ό μ μ₯νκ³ κ΄λ¦¬νλ μλ² μ ν리μΌμ΄μ μ΄λ€. λ컀 μ΄λ―Έμ§λ₯Ό λ‘컬 λ¨Έμ μ΄λ ν΄λΌμ°λ νκ²½μ μ μ₯νκ³ λ€μ΄λ‘λνμ¬ κ³΅μ ν μ μλλ‘ νλ€. Docker Hubλ κ³΅κ° λ μ§μ€νΈλ¦¬λ‘, λͺ¨λκ° μ¬μ©ν μ μλ€. λ컀μμ λ³λ€λ₯Έ μ€μ μμ΄ μ΄λ―Έμ§λ₯Ό λ€μ΄λ‘λνλ©΄ κΈ°λ³Έκ°μΌλ‘ Docker Hubμμ μ°Ύκ² λμ΄μλ€.
docker pull
λλ docker run
λͺ
λ Ήμ΄λ₯Ό μ¬μ©νλ©΄ μ¬μ©μμ λ μ§μ€νΈλ¦¬μμ μ΄λ―Έμ§λ₯Ό λ°μ μ μμΌλ©°, docker push
λͺ
λ Ήμ΄λ₯Ό μ¬μ©νλ©΄ μ¬μ©μμ λ μ§μ€νΈλ¦¬μ μ΄λ―Έμ§λ₯Ό μ¬λ¦΄ μ μλ€.
μ»΄ν¬μ¦λ 컨ν μ΄λκ° μ¬λ¬ κ°μΈ λ컀 μ ν리μΌμ΄μ μ μ€νμν€κΈ° μν λꡬλ€. YAML(YAML Ain't Markup Language) νμΌλ‘ μ ν리μΌμ΄μ μλΉμ€λ₯Ό ꡬμ±ν μ μμΌλ©°, ν΄λΉ νμΌμ μ€νμν΄μΌλ‘ μ ν리μΌμ΄μ μ ꡬμ±νλ μλΉμ€λ€μ ν λ²μ μμ±νκ³ μμν μ μλ€.
λ컀 μ»΄ν¬μ¦μ μ₯μ μ λ€μκ³Ό κ°λ€.
νλμ νΈμ€νΈμ λ 립λ νκ²½μ μ¬λ¬ κ° κ°μ§ μ μλ€.
컨ν
μ΄λκ° μμ±λ λ volume λ°μ΄ν°λ₯Ό 보쑴ν μ μλ€. μ΄κ² λ¬΄μ¨ λ§μ΄λ.. docker compose up
λͺ
λ Ήμ΄κ° μ€νλλ©΄, μλ‘μ΄ μ»¨ν
μ΄λκ° μ΄μ 컨ν
μ΄λμμ μ¬μ©λ λ³Όλ₯¨μ μ°Ύμ μ¬μ©νλ€. λλ¬Έμ λ°μ΄ν° μμ€μ κ±±μ νμ§ μμλ λλ€.
μ»΄ν¬μ¦λ 컨ν μ΄λλ₯Ό λ§λ€κΈ° μν ꡬμ±λ€μ μΊμ± νλ€. μλΉμ€λ₯Ό μ¬μμνλ©΄ μμ μ¬νμ΄ μλ 컨ν μ΄λλ κΈ°μ‘΄μ μλ 컨ν μ΄λλ₯Ό μ°Ύμ μ¬μ¬μ©νλ©°, μμ λ 컨ν μ΄λλ§ λ€μ μμ±νκ² λλ€.
λ³μλ₯Ό μ¬μ©ν μ μμΌλ©°, extend λ±μ λͺ λ Ήμ΄λ‘ νκ²½ ꡬμ±μ λ§λΆμ΄κ³ μ΄λμν¬ μ μλ€.
λ컀 컨ν μ΄λλ 격리λ νκ²½μμ λμκ°κΈ° λλ¬Έμ κΈ°λ³Έμ μΌλ‘ λ€λ₯Έ 컨ν μ΄λμμ ν΅μ μ΄ λΆκ°λ₯νλ€. νμ§λ§ μ¬λ¬ κ°μ 컨ν μ΄λλ₯Ό νλμ λν° λ€νΈμν¬μ μ°κ²°μν€λ©΄ μλ‘ ν΅μ μ΄ κ°λ₯ν΄μ§λ€.
docker network ls
컀맨λλ₯Ό μ¬μ©νλ©΄ μλμ κ°μ΄ μμ±λμ΄ μλ λ€νΈμν¬λ₯Ό νμΈν μ μλ€.
src_intra
λ₯Ό μ μΈν μμ bridge
, host
, none
μ λ컀 λ°λͺ¬μ΄ μ€νλλ©΄μ μμ±λλ λ€νΈμν¬λ€μ΄λ€. λ€μμ κΈ°λ³Έμ μΈ λ컀 λ€νΈμν¬μ μ’
λ₯λ€μ΄λ€.
bridge : νλμ νΈμ€νΈ μ»΄ν¨ν° λ΄μμ μ¬λ¬ 컨ν μ΄λλ€μ΄ μλ‘ μν΅ν μ μλλ‘ ν΄μ€λ€.
host : νΈμ€νΈ μ»΄ν¨ν°μ λμΌν λ€νΈμν¬μμ 컨ν μ΄λλ₯Ό λ리기 μν΄μ μ¬μ©λλ€.
overlay : μ¬λ¬ νΈμ€νΈμ λΆμ°λμ΄ λμκ°λ 컨ν μ΄λλ€ κ°μ λ€νΈμνΉμ μν΄μ μ¬μ©λλ€.
https://docs.docker.com/get-started/overview/
https://docs.docker.com/compose/
https://www.daleseo.com/docker-networks/
μ μ½μμ΅λλ€. μ’μ μ 보 κ°μ¬λ립λλ€.