Docker / Docker гэж юу вэ?

Docker гэж юу вэ?

Docker бол аппликейшнийг container хэлбэрт оруулж, аль ч компьютер, сервер дээр нэг адил ажиллуулдаг хэрэгсэл юм.

"Миний компьютерт ажиллаж байна, серверт ажиллахгүй байна" — хөгжүүлэгч бүр энэ асуудлыг мэдэх. Docker тэр асуудлыг шийддэг.

Container гэж юу вэ?

Container бол аппликейшн болон тэр аппликейшний ажиллахад шаардлагатай бүх зүйл (код, library, тохиргоо) нэг савны дотор хийгдсэн багц юм.

Зүйрлэвэл: Нүүж буй хүн бараагаа хайрцганд хийдэг шиг — хайрцаг нь аль хаанаас авч хаашаа явахаас үл хамааран бараа доторх байдлаа хадгалдаг.

Container ашиглахын давуу тал:

  • Хөгжүүлэгчийн компьютер, CI/CD сервер, production — бүгд нэг адил ажиллана
  • Аппликейшн тус бүр тусдаа орчинтой — конфликт үгүй
  • Хурдан эхлүүлэх, зогсоох, хуулах боломжтой

Docker ба Virtual Machine — ялгаа

VM ба container хоёулаа тусгаарлалт үүсгэдэг боловч арга барил нь өөр:

Virtual Machine (VM):

  • Бүтэн OS ажиллуулдаг
  • Хэдэн GB дискний зай, хэдэн минут эхлэх хугацаа
  • Хүнд, удаан

Container:

  • Host OS-ийн цөмийг хуваан ашигладаг
  • Хэдэн MB дискний зай, хэдхэн секунд эхлэх хугацаа
  • Хөнгөн, хурдан

Docker-ийн гол ойлголтууд

Image — Аппликейшний "blueprint". Уншихад зориулагдсан, өөрчилдөггүй загвар. docker build командаар үүсгэнэ.

Container — Image-аас ажиллуулсан жишээ. Нэг image-аас олон container ажиллуулж болно.

Dockerfile — Image хэрхэн бүтээх зааврыг агуулсан текст файл.

Registry — Image-уудыг хадгалдаг газар. Docker Hub нь олон нийтийн хамгийн том registry.

Docker Compose — Хэд хэдэн container-ийг хамтад нь тохируулж, ажиллуулдаг хэрэгсэл.

код
Dockerfile  →  docker build  →  Image  →  docker run  →  Container

Docker яагаад чухал вэ?

Орчин үеийн backend хөгжүүлэлтэд Docker-ийг мэдэхгүйгээр ажиллахад хэцүү болсон:

  • Ихэнх компани аппликейшнаа container-т байрлуулдаг
  • Kubernetes, AWS ECS, Google Cloud Run зэрэг платформ container-д суурилдаг
  • CI/CD pipeline-ууд Docker ашиглана
  • Хөгжүүлэлтийн орчин (dev, staging, production) ижилхэн байна

Анхны Docker команд

Docker суусны дараа хамгийн энгийн container ажиллуулцгаая:

bash
docker run hello-world

Дараах гаралтыг харна:

код
Hello from Docker!
This message shows that your installation appears to be working correctly.
...

Юу болсон бэ?

  1. hello-world нэртэй image компьютерт байхгүй гэдгийг Docker мэдлээ
  2. Docker Hub-аас тэр image-ийг татаж авлаа
  3. Тэр image-аас container үүсгэж ажиллуулав
  4. Container мессеж хэвлэж, зогслоо

Docker Desktop суулгах

Docker ашиглахын тулд Docker Desktop суулгана:

Суулгасны дараа шалгах:

bash
docker --version
docker info

docker info нь Docker-ийн дэлгэрэнгүй мэдээллийг харуулна.

Дараагийн хичээлд:

Docker Desktop суулгах алхмуудыг дэлгэрэнгүй үзэж, анхны container-ийг практикаар ажиллуулна.