22 āļĄāļĩ.āļ„. 2566·āļ­āđˆāļēāļ™ 1 āļ™āļēāļ—āļĩ

āļĢāļđāđ‰āđ€āļšāļ·āđ‰āļ­āļ‡āļ•āđ‰āļ™āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™ Docker

āļˆāļąāļ”āļāļēāļĢāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Docker āļŦāļĨāļēāļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļāļēāļĢāļžāļąāļ’āļ™āļēāļ‚āļ­āļ‡āļ„āļļāļ“āļ”āđ‰āļ§āļĒāļāļēāļĢāđāļ™āļ°āļ™āļģ Docker Compose āļ—āļĩāđˆāļ„āļĢāļ­āļšāļ„āļĨāļļāļĄ

āļĢāļđāđ‰āđ€āļšāļ·āđ‰āļ­āļ‡āļ•āđ‰āļ™āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™ Docker

āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāļ­āļļāļ•āļŠāļēāļŦāļāļĢāļĢāļĄāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāļžāļąāļ’āļ™āļēāļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§ āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢ āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āļ—āļĩāđˆāļ„āļĨāđˆāļ­āļ‡āļ•āļąāļ§ āļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđ„āļ”āđ‰ āđāļĨāļ°āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāđ‡āļ—āļ§āļĩāļ„āļ§āļēāļĄāļĢāļļāļ™āđāļĢāļ‡āļĄāļēāļāļ‚āļķāđ‰āļ™ Docker āđ„āļ”āđ‰āļ—āļīāđ‰āļ‡āļĢāđˆāļ­āļ‡āļĢāļ­āļĒāļ—āļĩāđˆāļĨāļšāđ„āļĄāđˆāļ­āļ­āļāđ„āļ§āđ‰āđƒāļ™āļ­āļļāļ•āļŠāļēāļŦāļāļĢāļĢāļĄāļ”āđ‰āļ§āļĒāļāļēāļĢāđ€āļ›āļīāļ”āļ•āļąāļ§āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒ āļ—āļģāđƒāļŦāđ‰āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡ āļˆāļąāļ”āļŠāđˆāļ‡ āđāļĨāļ°āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđƒāļ™āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ—āļĩāđˆāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āđāļĨāļ°āļ—āļģāļ‹āđ‰āļģāđ„āļ”āđ‰ Docker Compose āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ­āļąāļ™āļ—āļĢāļ‡āļžāļĨāļąāļ‡āļ‚āļ­āļ‡āļĢāļ°āļšāļšāļ™āļīāđ€āļ§āļĻ Docker āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­āđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ

āļ„āļđāđˆāļĄāļ·āļ­āļ—āļĩāđˆāļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļ™āļĩāđ‰āļĄāļĩāđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļ‚āđ‰āļēāđƒāļˆāđ€āļŠāļīāļ‡āļĨāļķāļāđ€āļāļĩāđˆāļĒāļ§āļāļąāļš Docker Compose āļ„āļ§āļēāļĄāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āđƒāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆ āļ•āļĨāļ­āļ”āļˆāļ™āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļŦāļĨāļąāļāđāļĨāļ°āļ„āļļāļ“āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒ āđ€āļĢāļēāļˆāļ°āļŠāļģāļĢāļ§āļˆāđāļ™āļ§āļ„āļīāļ”āļžāļ·āđ‰āļ™āļāļēāļ™āđāļĨāļ°āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āļĢāļ°āļšāļšāļ™āļīāđ€āļ§āļĻ Docker Compose āđ‚āļ”āļĒāđ€āļ•āļĢāļĩāļĒāļĄāļ„āļ§āļēāļĄāļĢāļđāđ‰āđƒāļŦāđ‰āļ„āļļāļ“āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰āļĻāļąāļāļĒāļ āļēāļžāđƒāļ™āđ‚āļ„āļĢāļ‡āļāļēāļĢāļ‚āļ­āļ‡āļ„āļļāļ“āđāļĨāļ°āļĄāļĩāļŠāđˆāļ§āļ™āļĢāđˆāļ§āļĄāđƒāļ™āļŠāļļāļĄāļŠāļ™ Docker āļ—āļĩāđˆāļ‚āļĒāļēāļĒāļ•āļąāļ§āļ•āļĨāļ­āļ”āđ€āļ§āļĨāļē

āđƒāļ™āļāļēāļĢāļŠāļģāļĢāļ§āļˆ Docker Compose āļ™āļĩāđ‰ āđ€āļĢāļēāļˆāļ°āļāļĨāđˆāļēāļ§āļ–āļķāļ‡:

  • Container Orchestration : āļ āļēāļžāļĢāļ§āļĄāđ‚āļ”āļĒāļĒāđˆāļ­āļ‚āļ­āļ‡āļāļēāļĢāļ›āļĢāļ°āļŠāļēāļ™āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāđāļĨāļ°āļ„āļ§āļēāļĄāļˆāļģāđ€āļ›āđ‡āļ™āđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž
  • Docker Compose : āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļšāļ·āđ‰āļ­āļ‡āļ•āđ‰āļ™āđ€āļāļĩāđˆāļĒāļ§āļāļąāļš Docker Compose āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļŦāļĨāļąāļ āđāļĨāļ°āļ‚āđ‰āļ­āđ„āļ”āđ‰āđ€āļ›āļĢāļĩāļĒāļšāđƒāļ™āļšāļĢāļīāļšāļ—āļ‚āļ­āļ‡āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒ
  • āđ€āļ‚āļĩāļĒāļ™āđ„āļŸāļĨāđŒāđāļĨāļ°āļšāļĢāļīāļāļēāļĢ : āđ€āļˆāļēāļ°āļĨāļķāļāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒāđ€āļ‚āļĩāļĒāļ™ āļšāļ—āļšāļēāļ—āļ‚āļ­āļ‡āļšāļĢāļīāļāļēāļĢ āđāļĨāļ°āļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļāļēāļĢāļāļģāļŦāļ™āļ”āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
  • āļĢāļ°āļšāļšāđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāđāļĨāļ°āđ„āļ”āļĢāļŸāđŒāļ‚āđ‰āļ­āļĄāļđāļĨ : āļāļēāļĢāļ­āļ āļīāļ›āļĢāļēāļĒāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāđāļĨāļ°āļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™ Docker Compose āđāļĨāļ°āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļžāļ§āļāđ€āļ‚āļēāļ­āļģāļ™āļ§āļĒāļ„āļ§āļēāļĄāļŠāļ°āļ”āļ§āļāđƒāļ™āļāļēāļĢāļŠāļ·āđˆāļ­āļŠāļēāļĢāļ—āļĩāđˆāļĢāļēāļšāļĢāļ·āđˆāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāđāļĨāļ°āļāļēāļĢāļ„āļ‡āļ­āļĒāļđāđˆāļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ
  • āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđāļĨāļ°āļāļēāļĢāļ›āļĢāļąāļšāļŠāļĄāļ”āļļāļĨāđ‚āļŦāļĨāļ” : āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē Docker Compose āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāđāļĨāļ°āđ‚āļŦāļĨāļ”āļšāļēāļĨāļēāļ™āļ‹āđŒāļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđ€āļžāļ·āđˆāļ­āļĢāļ­āļ‡āļĢāļąāļšāļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ
  • āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāđāļĨāļ°āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ” : āļ”āļđāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļ—āļąāđˆāļ§āđ„āļ›āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰ Docker Compose āđāļĨāļ°āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”āļ—āļĩāđˆāđāļ™āļ°āļ™āļģāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāļ–āļķāļ‡āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļŠāļđāļ‡āļŠāļļāļ”

āđ€āļ‚āđ‰āļēāļĢāđˆāļ§āļĄāļāļąāļšāđ€āļĢāļēāđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāđ€āļĢāļēāđ€āļˆāļēāļ°āļĨāļķāļāđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™āđ‚āļĨāļāļ‚āļ­āļ‡ Docker Compose āđāļĨāļ°āđ€āļ•āļĢāļĩāļĒāļĄāļžāļĢāđ‰āļ­āļĄāļ—āļĩāđˆāļˆāļ°āđ€āļžāļīāđˆāļĄāļžāļđāļ™āļ—āļąāļāļĐāļ°āļāļēāļĢāļˆāļąāļ”āđ€āļĢāļĩāļĒāļ‡āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāļ‚āļ­āļ‡āļ„āļļāļ“ āđ‚āļ”āļĒāđ€āļ›āđ‡āļ™āđ€āļ§āļ—āļĩāļŠāļģāļŦāļĢāļąāļš āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļ„āļĨāđˆāļ­āļ‡āļ•āļąāļ§āđāļĨāļ°āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļĄāļēāļāļ‚āļķāđ‰āļ™

āļ āļēāļžāļĢāļ§āļĄ Docker Compose

Docker Compose āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ āđ‚āļ­āđ€āļžāđˆāļ™āļ‹āļ­āļĢāđŒāļŠ āļ—āļĩāđˆāļŠāđˆāļ§āļĒāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļāļģāļŦāļ™āļ” āļāļģāļŦāļ™āļ”āļ„āđˆāļē āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Docker āđāļšāļšāļŦāļĨāļēāļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒ āļ”āđ‰āļ§āļĒāļāļēāļĢāļ™āļģāđ€āļŠāļ™āļ­āļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļĩāđˆāđ„āļĄāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļāļēāļĻāđāļĨāļ°āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļŦāļĨāļēāļĒāļšāļĢāļīāļāļēāļĢāđ‚āļ”āļĒāđƒāļŠāđ‰āđ„āļŸāļĨāđŒ YAML āđ„āļŸāļĨāđŒāđ€āļ”āļĩāļĒāļ§ Docker Compose āļˆāļķāļ‡āļŠāđˆāļ§āļĒāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļžāļąāļ’āļ™āļē āļ—āļ”āļŠāļ­āļš āđāļĨāļ°āļ›āļĢāļąāļšāđƒāļŠāđ‰āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļēāļ āđ€āļ›āđ‡āļ™āļœāļĨāđƒāļŦāđ‰āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āļĄāļĩāļŠāļĄāļēāļ˜āļīāļāļąāļšāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļāļąāļ‡āļ§āļĨāļāļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āļžāļ·āđ‰āļ™āļāļēāļ™

āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļŦāļĨāļąāļāļ—āļĩāđˆāļ‚āļĒāļēāļĒ

  • āđ€āļ‚āļĩāļĒāļ™āđ„āļŸāļĨāđŒ : āļāļēāļĢāđƒāļŠāđ‰āđ„āļŸāļĨāđŒ YAML āļ‹āļķāđˆāļ‡āđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āļŠāļ·āđˆāļ­ docker-compose.yml Docker Compose āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļšāļĢāļīāļāļēāļĢ āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ āđāļĨāļ°āļ›āļĢāļīāļĄāļēāļ“āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ„āļ”āđ‰ āđ„āļŸāļĨāđŒāļ™āļĩāđ‰āļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļžāļīāļĄāļžāđŒāđ€āļ‚āļĩāļĒāļ§āļ—āļĩāđˆāļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļŠāļģāļŦāļĢāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ‚āļ­āļ‡āļ„āļļāļ“ āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ āļāļēāļĢāļ—āļģāļ‹āđ‰āļģ āđāļĨāļ°āļāļēāļĢāđāļŠāļĢāđŒāļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™
  • āļšāļĢāļīāļāļēāļĢ : āđƒāļ™ Docker Compose āļšāļĢāļīāļāļēāļĢāļˆāļ°āļĢāļ°āļšāļļāļ­āļīāļ™āļŠāđāļ•āļ™āļ‹āđŒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāđāļ•āđˆāļĨāļ°āļĢāļēāļĒāļāļēāļĢāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļˆāļēāļāļ­āļīāļĄāđ€āļĄāļˆ Docker āđ€āļ‰āļžāļēāļ° āļšāļĢāļīāļāļēāļĢāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āļĢāļēāļāļāļēāļ™āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļœāđˆāļēāļ™āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāđāļšāđˆāļ‡āļ›āļąāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ”āļĒāđƒāļŠāđ‰āļ§āļ­āļĨāļļāđˆāļĄ
  • āļĢāļ°āļšāļšāđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ : Docker Compose āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļĢāđ‰āļēāļ‡āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡āļŠāļģāļŦāļĢāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļŠāļ·āđˆāļ­āļŠāļēāļĢāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļšāļĢāļīāļāļēāļĢāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĢāļēāļšāļĢāļ·āđˆāļ™ āđāļĄāđ‰āļ§āđˆāļēāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļˆāļ°āļŠāļĢāđ‰āļēāļ‡āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāđ€āļ”āļĩāļĒāļ§āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļŠāļģāļŦāļĢāļąāļšāļšāļĢāļīāļāļēāļĢāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ•āļēāļĄāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļ„āļļāļ“āļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāđ€āļžāļ·āđˆāļ­āđāļĒāļāļšāļĢāļīāļāļēāļĢāđ€āļ‰āļžāļēāļ°āļŦāļĢāļ·āļ­āļŠāļĢāđ‰āļēāļ‡āđ‚āļ—āđ‚āļžāđ‚āļĨāļĒāļĩāļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™
  • Volumes : Docker Compose āļ™āļģāđ€āļŠāļ™āļ­āļ§āļ­āļĨāļļāđˆāļĄāļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āđƒāļŠāđ‰āļ‡āļēāļ™āđ‚āļ”āļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒ Docker Volumes āļ­āļģāļ™āļ§āļĒāļ„āļ§āļēāļĄāļŠāļ°āļ”āļ§āļāđƒāļ™āļāļēāļĢāđāļšāđˆāļ‡āļ›āļąāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāđ€āļāđ‡āļšāļĢāļąāļāļĐāļēāđ„āļ§āđ‰āđ€āļĄāļ·āđˆāļ­āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāļ–āļđāļāļĨāļšāļŦāļĢāļ·āļ­āļ­āļąāļ›āđ€āļ”āļ•
  • āļāļēāļĢāļ›āļĢāļąāļšāļ‚āļ™āļēāļ” : āļ”āđ‰āļ§āļĒ Docker Compose āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āļšāļĢāļīāļāļēāļĢāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāļ”āļēāļĒāđ€āļžāļ·āđˆāļ­āļˆāļąāļ”āļāļēāļĢāļ›āļĢāļīāļĄāļēāļ“āļ‡āļēāļ™āļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™āđ‚āļ”āļĒāļāļēāļĢāļ›āļĢāļąāļšāļˆāļģāļ™āļ§āļ™āļ­āļīāļ™āļŠāđāļ•āļ™āļ‹āđŒāļ‚āļ­āļ‡āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāļŠāļģāļŦāļĢāļąāļšāļšāļĢāļīāļāļēāļĢāđ€āļ‰āļžāļēāļ° āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰āđāļ­āļ•āļ—āļĢāļīāļšāļīāļ§āļ•āđŒāļĄāļēāļ•āļĢāļēāļŠāđˆāļ§āļ™āļŦāļĢāļ·āļ­āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļšāļĢāļĢāļ—āļąāļ”āļ„āļģāļŠāļąāđˆāļ‡ --scale
  • āļāļēāļĢāđāļ—āļ™āļ—āļĩāđˆāļ•āļąāļ§āđāļ›āļĢāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ : Docker Compose āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāđāļ—āļ™āļ—āļĩāđˆāļ•āļąāļ§āđāļ›āļĢāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ āļ—āļģāđƒāļŦāđ‰āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļąāļšāđāļ•āđˆāļ‡āđ„āļŸāļĨāđŒ Compose āđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļāļąāļšāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļŦāļĢāļ·āļ­āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ•āđˆāļēāļ‡āđ† āļ‚āļ­āļ‡āđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒāļāļēāļĢāļžāļąāļ’āļ™āļēāļ‚āļ­āļ‡āļ„āļļāļ“ āļ„āļļāļ“āļĨāļąāļāļĐāļ“āļ°āļ™āļĩāđ‰āļŠāđˆāļ§āļĒāđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āđāļĨāļ°āļāļēāļĢāļ›āļĢāļąāļšāđāļ•āđˆāļ‡āđƒāļ™āļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰āļ•āđˆāļēāļ‡āđ†

āļāļĢāļ“āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™

Docker Compose āđ€āļŦāļĄāļēāļ°āļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāļ•āđˆāļēāļ‡āđ† āđ€āļŠāđˆāļ™:

  • āļāļēāļĢāļžāļąāļ’āļ™āļēāđāļĨāļ°āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡ : āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ Docker Compose āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļ‚āļ­āļ‡āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļāļēāļĢāļœāļĨāļīāļ•āļšāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ‚āļ­āļ‡āļ•āļ™ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāļ§āđˆāļēāļžāļĪāļ•āļīāļāļĢāļĢāļĄāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļ™āļ•āļĨāļ­āļ”āļĢāļ°āļĒāļ°āļ§āļ‡āļˆāļĢāļāļēāļĢāļžāļąāļ’āļ™āļēāļ•āđˆāļēāļ‡āđ†
  • āļāļēāļĢāļœāļŠāļēāļ™āļĢāļ§āļĄāļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡āđāļĨāļ°āļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰āļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡ ( CI/CD ): Docker Compose āļŠāļēāļĄāļēāļĢāļ–āļĢāļ§āļĄāđ€āļ‚āđ‰āļēāļāļąāļšāđ„āļ›āļ›āđŒāđ„āļĨāļ™āđŒ CI/CD āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡ āļ—āļ”āļŠāļ­āļš āđāļĨāļ°āļ›āļĢāļąāļšāđƒāļŠāđ‰āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒ āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļžāļąāļ’āļ™āļē
  • āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ Microservices : āļ”āđ‰āļ§āļĒ Docker Compose āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢāđāļĨāļ°āļ„āļ§āļšāļ„āļļāļĄāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļĄāđ‚āļ„āļĢāđ€āļ‹āļ­āļĢāđŒāļ§āļīāļŠāļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāļ”āļēāļĒ āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļŠāļ·āđˆāļ­āļŠāļēāļĢāđāļĨāļ°āļ—āļģāļ‡āļēāļ™āļĢāđˆāļ§āļĄāļāļąāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļšāļĢāļīāļāļēāļĢāļ•āđˆāļēāļ‡āđ† āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

Docker Compose āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļąāļ™āļ—āļĢāļ‡āļžāļĨāļąāļ‡āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāļ›āļĢāļ°āļŠāļēāļ™āđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļāļģāļŦāļ™āļ” āļāļģāļŦāļ™āļ”āļ„āđˆāļē āđāļĨāļ°āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļšāļĢāļīāļāļēāļĢāļœāđˆāļēāļ™āđ„āļŸāļĨāđŒ YAML āđ„āļŸāļĨāđŒāđ€āļ”āļĩāļĒāļ§āļŠāđˆāļ§āļĒāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāđāļĨāļ°āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđāļĨāļ°āļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

āļ­āļ˜āļīāļšāļēāļĒāļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļē YAML

YAML āļĒāđˆāļ­āļĄāļēāļˆāļēāļ " YAML āđ„āļĄāđˆāđƒāļŠāđˆāļ āļēāļĐāļēāļĄāļēāļĢāđŒāļāļ­āļąāļ›" āđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ—āļģāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āļ­āļ™āļļāļāļĢāļĄāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļĄāļ™āļļāļĐāļĒāđŒāļ­āđˆāļēāļ™āđ„āļ”āđ‰ āļ‹āļķāđˆāļ‡āļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­āļ„āļ§āļēāļĄāđ€āļĢāļĩāļĒāļšāļ‡āđˆāļēāļĒāđāļĨāļ°āđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒ āļĄāļąāļāđƒāļŠāđ‰āđƒāļ™āļ­āļļāļ•āļŠāļēāļŦāļāļĢāļĢāļĄāļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļŠāļģāļŦāļĢāļąāļšāđ„āļŸāļĨāđŒāļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļē āļāļēāļĢāđāļĨāļāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ āļēāļĐāļēāļ—āļĩāđˆāļĄāļĩāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āđˆāļēāļ‡āļāļąāļ™ āđāļĨāļ°āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđ„āļ”āđ‰āļĄāļēāļāļ‚āļķāđ‰āļ™āļŠāļģāļŦāļĢāļąāļšāļĢāļđāļ›āđāļšāļšāļ•āđˆāļēāļ‡āđ† āđ€āļŠāđˆāļ™ XML āļŦāļĢāļ·āļ­ JSON YAML āđƒāļŠāđ‰āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđāļšāļšāļĄāļīāļ™āļīāļĄāļ­āļĨāļ•āļēāļĄāļāļēāļĢāđ€āļĒāļ·āđ‰āļ­āļ‡ āļ—āļģāđƒāļŦāđ‰āļ”āļķāļ‡āļ”āļđāļ”āļŠāļēāļĒāļ•āļēāđāļĨāļ°āļŠāđˆāļ‡āđ€āļŠāļĢāļīāļĄāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāđƒāļˆāļ—āļĩāđˆāļ”āļĩāļ‚āļķāđ‰āļ™āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāđāļšāļšāļĨāļģāļ”āļąāļšāļŠāļąāđ‰āļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļ‚āđ‰āļ­āļĄāļđāļĨ

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āđƒāļ™āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļ™āļąāļāļžāļąāļ’āļ™āļēāļ­āļēāļˆāļāļģāļŦāļ™āļ”āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āļ„āļĩāļĒāđŒ API āđāļĨāļ°āļ„āđˆāļēāļāļģāļŦāļ™āļ”āđāļ„āļŠāđ‚āļ”āļĒāđƒāļŠāđ‰āđ„āļŸāļĨāđŒ YAML āļ—āļĩāđˆāļĄāļĩāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ āļ”āđ‰āļ§āļĒāļāļēāļĢāđƒāļŠāđ‰āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļˆāļēāļāļ„āļļāļ“āļĨāļąāļāļĐāļ“āļ°āļ•āđˆāļēāļ‡āđ† āļ‚āļ­āļ‡ YAML āđ€āļŠāđˆāļ™ āđāļ­āļ‡āđ€āļ„āļ­āļĢāđŒ āļ™āļēāļĄāđāļāļ‡ āđāļĨāļ°āđāļ—āđ‡āļāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡ āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āļĨāļ”āļ„āļ§āļēāļĄāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™āđāļĨāļ°āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļāļēāļĢāļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļēāđ‚āļ„āļĢāļ‡āļāļēāļĢāļ‚āļ­āļ‡āļ•āļ™āđ„āļ”āđ‰ āļāļēāļĢāļ™āļģ YAML āļĄāļēāđƒāļŠāđ‰āļ­āļĒāđˆāļēāļ‡āđāļžāļĢāđˆāļŦāļĨāļēāļĒāđ€āļ›āđ‡āļ™āļ‚āđ‰āļ­āļžāļīāļŠāļđāļˆāļ™āđŒāļ–āļķāļ‡āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđƒāļ™āļāļēāļĢāļĨāļ”āļ„āļ§āļēāļĄāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļ‚āļ­āļ‡āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđāļĨāļ°āđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāļ„āļĨāđˆāļ­āļ‡āļ•āļąāļ§āđƒāļ™āļāļēāļĢāļŠāļ·āđˆāļ­āļŠāļēāļĢāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļŠāļĄāļēāļŠāļīāļāđƒāļ™āļ—āļĩāļĄāđāļĨāļ°āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ

Docker Compose - āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡

āļˆāļēāļ YAML āļŠāļđāđˆāļœāļĨāļīāļ•āļ āļąāļ“āļ‘āđŒāļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰
āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ„āļ­āđ€āļ”āļĩāļĒāļŦāļĨāļēāļĒāļšāļĢāļīāļāļēāļĢāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āđāļ­āļ›āļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰ āļ”āđ‰āļ§āļĒāđ‚āļĄāđ€āļ”āļĨāļ‚āđ‰āļ­āļĄāļđāļĨāđāļĨāļ°āļ•āļĢāļĢāļāļ°āļ˜āļļāļĢāļāļīāļˆāđāļšāļšāļ āļēāļž
āđ€āļĢāļīāđˆāļĄāļŠāļĢāđ‰āļēāļ‡

Docker Compose āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļ—āļĢāļ‡āļ„āļļāļ“āļ„āđˆāļēāđƒāļ™āļ”āđ‰āļēāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļŠāđˆāļ§āļĒāļ­āļģāļ™āļ§āļĒāļ„āļ§āļēāļĄāļŠāļ°āļ”āļ§āļāđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Docker āđāļšāļšāļŦāļĨāļēāļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒ āļ”āđ‰āļ§āļĒ Docker Compose āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āđāļĨāļ°āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļŠāđāļ•āđ‡āļāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ‚āļ­āļ‡āļ•āļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļŠāļ°āļ”āļ§āļāļŠāļšāļēāļĒ āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļšāļĢāļīāļāļēāļĢ āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ āđāļĨāļ°āđ„āļ”āļĢāļŸāđŒāļ‚āđ‰āļ­āļĄāļđāļĨ āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ™āļĩāđ‰āļ—āļģāđ„āļ”āđ‰āļ āļēāļĒāđƒāļ™āđ„āļŸāļĨāđŒ YAML āđ„āļŸāļĨāđŒāđ€āļ”āļĩāļĒāļ§ āđāļ™āļ§āļ—āļēāļ‡āļ—āļĩāđˆāļ„āļĨāđˆāļ­āļ‡āļ•āļąāļ§āļ™āļĩāđ‰āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāļ—āļĩāđˆāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āđāļĨāļ°āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ•āļĨāļ­āļ”āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļžāļąāļ’āļ™āļē āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđāļĨāļ°āļāļēāļĢāļœāļĨāļīāļ•

āđƒāļ™āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Docker Compose āđƒāļŦāđ‰āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ”āđ‰āļ§āļĒāļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™āļ§āđˆāļē Docker āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡āđāļĨāļ°āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļšāļ™āļĢāļ°āļšāļšāļ‚āļ­āļ‡āļ„āļļāļ“ āļŦāļĨāļąāļ‡āļˆāļēāļāļ™āļĩāđ‰ āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ Docker Compose āļˆāļ°āđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āđ„āļ›āļ•āļēāļĄāļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļ‚āļ­āļ‡āļ„āļļāļ“ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļšāļ™ Linux āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļ‚āļ­āļĢāļąāļš Compose āļĢāļļāđˆāļ™āļĨāđˆāļēāļŠāļļāļ”āļˆāļēāļ GitHub āđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ curl āļŠāļĄāļąāļ„āļĢāļ‚āļ­āļŠāļīāļ—āļ˜āļīāđŒāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢ āđāļĨāļ°āļ–āđˆāļēāļĒāđ‚āļ­āļ™āđ„āļšāļ™āļēāļĢāļĩāđ„āļ›āļĒāļąāļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āļ āļēāļĒāđƒāļ™ PATH āļ‚āļ­āļ‡āļĢāļ°āļšāļš āđƒāļ™āļ—āļēāļ‡āļāļĨāļąāļšāļāļąāļ™ Docker Compose āļĄāļēāļžāļĢāđ‰āļ­āļĄāļāļąāļš Docker Desktop āļŠāļģāļŦāļĢāļąāļš macOS āđāļĨāļ° Windows āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™āļ­āļĒāđˆāļēāļ‡āļĄāļēāļ

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļˆāļĢāļīāļ‡āļ—āļĩāđˆāđāļŠāļ”āļ‡āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ‚āļ­āļ‡ Docker Compose āļ„āļ·āļ­āļāļēāļĢāļžāļąāļ’āļ™āļēāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āļšāļĢāļīāļāļēāļĢāļŠāđˆāļ§āļ™āļŦāļ™āđ‰āļē āļšāļĢāļīāļāļēāļĢ API āļŠāđˆāļ§āļ™āļŦāļĨāļąāļ‡ āđāļĨāļ°āļšāļĢāļīāļāļēāļĢāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āđ€āļĄāļ·āđˆāļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Docker Compose āļŠāļģāđ€āļĢāđ‡āļˆ āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļē YAML āļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļ‡āđˆāļēāļĒāđāļĨāļ°āļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļēāđ„āļ”āđ‰āđ€āļžāļ·āđˆāļ­āļāļģāļŦāļ™āļ”āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđāļĨāļ°āļĄāļĩāļŦāļĨāļēāļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒ āļ‹āļķāđˆāļ‡āļˆāļ°āļŠāđˆāļ§āļĒāļĒāļāļĢāļ°āļ”āļąāļšāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļāļēāļĢāļžāļąāļ’āļ™āļēāđāļĨāļ°āđ€āļĢāđˆāļ‡āļāļēāļĢāļŠāđˆāļ‡āļĄāļ­āļšāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđƒāļ™āļ—āđ‰āļēāļĒāļ—āļĩāđˆāļŠāļļāļ”

āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒ Docker-Compose āđ„āļŸāļĨāđŒāđāļĢāļāļ‚āļ­āļ‡āļ„āļļāļ“

āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒ Docker-Compose āđ„āļŸāļĨāđŒāđāļĢāļāļ‚āļ­āļ‡āļ„āļļāļ“āđ€āļ›āđ‡āļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļŠāļģāļ„āļąāļāđƒāļ™āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļĨāļ”āļ„āļ§āļēāļĄāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒ Docker-Compose āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļąāļ™āļ—āļĢāļ‡āļžāļĨāļąāļ‡āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ„āļļāļ“āļāļģāļŦāļ™āļ” āļāļģāļŦāļ™āļ”āļ„āđˆāļē āđāļĨāļ°āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļŦāļĨāļēāļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāđ€āļ›āđ‡āļ™āļŦāļ™āđˆāļ§āļĒāđ€āļ”āļĩāļĒāļ§ āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļāļēāļĢāļžāļąāļ’āļ™āļēāđāļĨāļ°āļāļēāļĢāļ›āļĢāļąāļšāđƒāļŠāđ‰āđ‚āļ”āļĒāļĢāļ§āļĄ āđƒāļ™āļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļ„āļļāļ“āļˆāļ°āļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Docker āđāļĨāļ° Docker-Compose āļšāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ‚āļ­āļ‡āļ„āļļāļ“ āđ€āļĄāļ·āđˆāļ­āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļĨāđ‰āļ§ āđƒāļŦāđ‰āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒāļŠāļ·āđˆāļ­ " docker-compose.yml " āđƒāļ™āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļĢāļēāļāļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļˆāđ‡āļāļ•āđŒ āđƒāļ™āđ„āļŸāļĨāđŒāļ™āļĩāđ‰ āļ„āļļāļ“āļˆāļ°āļāļģāļŦāļ™āļ”āļšāļĢāļīāļāļēāļĢ āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ āđāļĨāļ°āļ›āļĢāļīāļĄāļēāļ“āđ‚āļ”āļĒāđƒāļŠāđ‰āđ„āļ§āļĒāļēāļāļĢāļ“āđŒ YAML

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļŠāļĄāļĄāļ•āļīāļ§āđˆāļēāļ„āļļāļ“āļĄāļĩāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļŠāđˆāļ§āļ™āļŦāļ™āđ‰āļēāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āđ‚āļ”āļĒāđƒāļŠāđ‰ React, API āļŠāđˆāļ§āļ™āļŦāļĨāļąāļ‡āļ—āļĩāđˆāļžāļąāļ’āļ™āļēāļ”āđ‰āļ§āļĒ Node.js āđāļĨāļ°āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ MongoDB āļ„āļļāļ“āļˆāļ°āļāļģāļŦāļ™āļ”āļŠāļēāļĄāļšāļĢāļīāļāļēāļĢāđƒāļ™āđ„āļŸāļĨāđŒ docker-compose.yml āļ‚āļ­āļ‡āļ„āļļāļ“ - āļŦāļ™āļķāđˆāļ‡āļšāļĢāļīāļāļēāļĢāļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āļ„āļ­āļĄāđ‚āļžāđ€āļ™āļ™āļ•āđŒ āļ™āļ­āļāđ€āļŦāļ™āļ·āļ­āļˆāļēāļāļāļēāļĢāļĢāļ°āļšāļļāļ­āļīāļĄāđ€āļĄāļˆ Docker āļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āļšāļĢāļīāļāļēāļĢāđāļĨāđ‰āļ§ āļ„āļļāļ“āļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļ•āļąāļ§āđāļ›āļĢāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ āđāļĨāļ°āļ—āļĩāđˆāđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ–āļēāļ§āļĢāļœāđˆāļēāļ™āļ§āļ­āļĨāļļāđˆāļĄ āļ”āđ‰āļ§āļĒāđ„āļŸāļĨāđŒ Docker-Compose āļ‚āļ­āļ‡āļ„āļļāļ“ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ " docker-compose up " āđƒāļ™āđ€āļ—āļ­āļĢāđŒāļĄāļīāļ™āļąāļĨāđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āđ€āļĢāļīāđˆāļĄāļšāļĢāļīāļāļēāļĢāļ—āļąāđ‰āļ‡āļŦāļĄāļ” āļ—āļģāđƒāļŦāđ‰āļ‡āđˆāļēāļĒāļ•āđˆāļ­āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļĨāļ°āļ›āļĢāļąāļšāđƒāļŠāđ‰āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļŦāļĨāļēāļĒāļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāļ‚āļ­āļ‡āļ„āļļāļ“āļ­āļĒāđˆāļēāļ‡āļŠāļĄāđˆāļģāđ€āļŠāļĄāļ­āđƒāļ™āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ•āđˆāļēāļ‡āđ†

āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āļ„āļ·āļ­āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒ docker-compose.yml āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāļŠāļģāļŦāļĢāļąāļšāđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļŠāđˆāļ§āļ™āļŦāļ™āđ‰āļēāļ‚āļ­āļ‡ React, āđāļšāđ‡āļāđ€āļ­āļ™āļ”āđŒ Node.js āđāļĨāļ°āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ MongoDB:

āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰ āļŠāđˆāļ§āļ™ āļšāļĢāļīāļāļēāļĢ āļāļģāļŦāļ™āļ”āļŠāļēāļĄāļšāļĢāļīāļāļēāļĢ: āļŠāđˆāļ§āļ™āļŦāļ™āđ‰āļē āļŠāđˆāļ§āļ™āļŦāļĨāļąāļ‡ āđāļĨāļ°āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āđāļ•āđˆāļĨāļ°āļšāļĢāļīāļāļēāļĢāļĄāļĩāļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļ‰āļžāļēāļ° āđ€āļŠāđˆāļ™ āļšāļĢāļīāļšāļ—āļšāļīāļĨāļ”āđŒ āļ­āļīāļĄāđ€āļĄāļˆ āļžāļ­āļĢāđŒāļ• āļāļēāļĢāļ‚āļķāđ‰āļ™āļ•āđˆāļ­āļāļąāļ™ āļ•āļąāļ§āđāļ›āļĢāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ āđāļĨāļ°āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ

āļšāļĢāļīāļāļēāļĢ frontend āđƒāļŠāđ‰āļšāļĢāļīāļšāļ—āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ ./frontend to build āđāļ­āļ› React āđāļĨāļ°āļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāļšāļĢāļīāļāļēāļĢ backend āļšāļĢāļīāļāļēāļĢ backend āđƒāļŠāđ‰āļšāļĢāļīāļšāļ—āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ ./backend āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āđāļ­āļ› Node.js āđāļĨāļ°āļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāļšāļĢāļīāļāļēāļĢ db āļ•āļąāļ§āđāļ›āļĢāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ āđ€āļŠāđˆāļ™ DATABASE_URL āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļŠāđˆāļ‡āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ„āļ›āļĒāļąāļ‡āđāļšāđ‡āļāđ€āļ­āļ™āļ”āđŒ

āļšāļĢāļīāļāļēāļĢ db āđƒāļŠāđ‰āļ­āļīāļĄāđ€āļĄāļˆ MongoDB āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢāļˆāļēāļ Docker Hub āđāļĨāļ°āļĢāļ°āļšāļļāđ„āļ”āļĢāļŸāđŒāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­ myapp-data āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ„āļ‡āļ­āļĒāļđāđˆāļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ

āļŠāļļāļ”āļ—āđ‰āļēāļĒ āļŠāđˆāļ§āļ™ networks āđāļĨāļ° volumes āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āļāļģāļŦāļ™āļ”āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡āļŠāļ·āđˆāļ­ myapp-network āđ‚āļ”āļĒāđƒāļŠāđ‰āđ„āļ”āļĢāđ€āļ§āļ­āļĢāđŒāļšāļĢāļīāļ”āļˆāđŒāđāļĨāļ°āđ„āļ”āļĢāļŸāđŒāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­ myapp-data āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļšāļĢāļīāļāļēāļĢāđāļĨāļ°āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ§āđ‰

āļ‡āđˆāļēāļĒāļ•āđˆāļ­āļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™
āļŠāļĢāđ‰āļēāļ‡āļšāļēāļ‡āļŠāļīāđˆāļ‡āļ—āļĩāđˆ āļ™āđˆāļēāļ—āļķāđˆāļ‡

āļ—āļ”āļĨāļ­āļ‡āļāļąāļš AppMaster āļ”āđ‰āļ§āļĒāđāļœāļ™āļŸāļĢāļĩ
āđ€āļĄāļ·āđˆāļ­āļ„āļļāļ“āļžāļĢāđ‰āļ­āļĄ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāļāļēāļĢāļŠāļĄāļąāļ„āļĢāļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄāđ„āļ”āđ‰

āđ€āļĢāļīāđˆāļĄ
āļĢāļđāđ‰āđ€āļšāļ·āđ‰āļ­āļ‡āļ•āđ‰āļ™āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™ Docker | AppMaster