Skip to content

Container Lifecycle 🔄 ​

Docker āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇āϰ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻœā§€āĻŦāύāϚāĻ•ā§āϰ (Lifecycle) āφāϛ⧇āĨ¤ āĻāĻ•āϟāĻŋ āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ āϤ⧈āϰāĻŋ āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧇ āĻĄāĻŋāϞāĻŋāϟ āĻšāĻ“ā§ŸāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϧāĻžāĻĒ⧇āϰ āĻŽāĻ§ā§āϝ āĻĻāĻŋā§Ÿā§‡ āϝāĻžā§ŸāĨ¤ āĻāχ āϧāĻžāĻĒāϗ⧁āϞ⧋ āĻŦ⧁āĻāϤ⧇ āĻĒāĻžāϰāϞ⧇ āφāĻĒāύāĻŋ āĻĄāĻ•āĻžāϰāϕ⧇ āφāϰāĻ“ āĻ­āĻžāϞ⧋āĻ­āĻžāĻŦ⧇ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύāĨ¤


ā§§. āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇āϰ āĻœā§€āĻŦāύāϚāĻ•ā§āϰ⧇āϰ āϧāĻžāĻĒāϏāĻŽā§‚āĻš (Workflow Phases) ​

āĻāĻ•āϟāĻŋ āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ āĻŽā§‚āϞāϤ āύāĻŋāĻšā§‡āϰ āĻĒāĻžāρāϚāϟāĻŋ āĻĒā§āϰāϧāĻžāύ āϧāĻžāĻĒ āĻŦāĻž āĻĒā§āϰāĻ•ā§āϰāĻŋ⧟āĻžāϰ āĻŽāĻ§ā§āϝ āĻĻāĻŋā§Ÿā§‡ āϝāĻžā§Ÿ:

  • Create: āĻāĻ•āϟāĻŋ āχāĻŽā§‡āϜ āĻĨ⧇āϕ⧇ āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ āĻŽā§‡āϟāĻžāĻĄā§‡āϟāĻž āϤ⧈āϰāĻŋ āĻ•āϰāĻž (docker create)āĨ¤
  • Start: āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϟāĻŋ āĻŽā§‡āĻŽā§‹āϰāĻŋāϤ⧇ āϞ⧋āĻĄ āĻ•āϰ⧇ āϰāĻžāύ āĻ•āϰāĻž (docker start)āĨ¤
  • Run: āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϟāĻŋ āϝāĻ–āύ āĻāĻ•ā§āϟāĻŋāĻ­ āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āϤāĻžāϰ āϭ⧇āϤāϰ⧇āϰ āĻĒā§āϰāϏ⧇āϏāϗ⧁āϞ⧋ āϚāϞāϛ⧇ (docker run = create + start)āĨ¤
  • Stop: āϰāĻžāύāĻŋāĻ‚ āĻĒā§āϰāϏ⧇āϏ āĻŦāĻ¨ā§āϧ āĻ•āϰ⧇ āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϟāĻŋāϕ⧇ āĻĨāĻžāĻŽāĻŋā§Ÿā§‡ āĻĻ⧇āĻ“ā§ŸāĻž (docker stop)āĨ¤
  • Remove: āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϟāĻŋ āĻĒ⧁āϰ⧋āĻĒ⧁āϰāĻŋ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰ⧇ āĻĻ⧇āĻ“ā§ŸāĻž (docker rm)āĨ¤

⧍. āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇āϰ āĻ¸ā§āĻŸā§‡āϟāϏāĻŽā§‚āĻš (Container States) ​

āϟāĻžāĻ°ā§āĻŽāĻŋāύāĻžāϞ⧇ docker ps -a āĻĻāĻŋāϞ⧇ āφāĻĒāύāĻŋ āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇āϰ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻ¸ā§āĻŸā§‡āϟ (Status) āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāύāĨ¤ āĻĒā§āϰāϧāĻžāύ āĻ¸ā§āĻŸā§‡āϟāϗ⧁āϞ⧋ āĻšāϞ⧋:

  • Created: āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϟāĻŋ āϤ⧈āϰāĻŋ āĻšā§Ÿā§‡āϛ⧇ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ•āĻ–āύāĻ“ āĻ¸ā§āϟāĻžāĻ°ā§āϟ āĻ•āϰāĻž āĻšā§ŸāύāĻŋāĨ¤
  • Running: āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϟāĻŋ āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āϚāĻžāϞ⧁ āφāϛ⧇ āĻāĻŦāĻ‚ āĻ•āĻžāϜ āĻ•āϰāϛ⧇āĨ¤
  • Paused: āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇āϰ āĻĒā§āϰāϏ⧇āϏāϗ⧁āϞ⧋ āϏāĻžāĻŽā§ŸāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻĨāĻžāĻŽāĻŋā§Ÿā§‡ āϰāĻžāĻ–āĻž āĻšā§Ÿā§‡āϛ⧇ (CPU āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϛ⧇ āύāĻž)āĨ¤
  • Exited (Stopped): āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϟāĻŋ āĻŦāĻ¨ā§āϧ āĻšā§Ÿā§‡ āϗ⧇āϛ⧇ (āĻšā§ŸāϤ⧋ āĻāϰ āĻāϰ āĻ•āĻžāϜ āĻļ⧇āώ āĻ…āĻĨāĻŦāĻž āĻŽā§āϝāĻžāύ⧁⧟āĻžāϞāĻŋ āĻĨāĻžāĻŽāĻžāύ⧋ āĻšā§Ÿā§‡āϛ⧇)āĨ¤
  • Restarting: āϕ⧋āύ⧋ āĻāϰāϰ⧇āϰ āĻ•āĻžāϰāϪ⧇ āĻĄāĻ•āĻžāϰ āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϟāĻŋāϕ⧇ āĻĒ⧁āύāϰāĻžā§Ÿ āϰāĻžāύ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāϛ⧇āĨ¤

ā§Š. Container vs Image: āĻŽā§‚āϞ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ ​

āĻ…āύ⧇āϕ⧇āχ āĻāχ āĻĻ⧁āϟāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āϗ⧁āϞāĻŋā§Ÿā§‡ āĻĢ⧇āϞ⧇āύāĨ¤ āĻāĻ•āϟāĻŋ āϏāĻšāϜ āϤ⧁āϞāύāĻž āĻĻ⧇āĻ–āĻž āϝāĻžāĻ•:

FeatureImageContainer
NatureāϰāĻŋāĻĄ-āĻ…āύāϞāĻŋ (Static)āϰāĻŋāĻĄ-āϰāĻžāχāϟ (Dynamic)
AnalogyāĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāϏ āĻŦāĻž āĻŦā§āϞ⧁-āĻĒā§āϰāĻŋāĻ¨ā§āϟāĻāϟāĻŋ āϐ āĻ•ā§āϞāĻžāϏ⧇āϰ āĻāĻ•āϟāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ
StorageāĻĄāĻŋāĻ¸ā§āϕ⧇ āϜāĻžā§ŸāĻ—āĻž āĻ¨ā§‡ā§ŸāϰāĻžāύāϟāĻžāχāĻŽ āĻŽā§‡āĻŽā§‹āϰāĻŋ āĻ“ āĻĄāĻŋāĻ¸ā§āĻ• āϞ⧇āϝāĻŧāĻžāϰ āĻ¨ā§‡ā§Ÿ
ChangeāχāĻŽā§‡āϜ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻž āϝāĻžā§Ÿ āύāĻž (āύāϤ⧁āύ āĻ­āĻžāĻ°ā§āϏāύ āϞāĻžāϗ⧇)āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇āϰ āϭ⧇āϤāϰ⧇ āĻĢāĻžāχāϞ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻž āϝāĻžā§Ÿ

ā§Ē. Ephemeral Nature (āĻ¸ā§āĻŦāĻ˛ā§āĻĒāĻ¸ā§āĻĨāĻžā§Ÿā§€ āĻĒā§āϰāĻ•ā§ƒāϤāĻŋ) ​

Docker āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϗ⧁āϞ⧋ āĻĄāĻŋāĻĢāĻ˛ā§āϟāĻ­āĻžāĻŦ⧇ Ephemeral āĻšā§ŸāĨ¤ āĻāϰ āĻŽāĻžāύ⧇ āĻšāϞ⧋:

  • āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϟāĻŋ āϝāϤ āϏāĻŽā§Ÿ āϰāĻžāύāĻŋāĻ‚ āĻĨāĻžāĻ•āĻŦ⧇, āϤāĻžāϰ āϭ⧇āϤāϰāĻ•āĻžāϰ āĻĄā§‡āϟāĻž āϤāϤ āϏāĻŽā§Ÿ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤
  • āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϟāĻŋ āϰāĻŋāĻŽā§āĻ­ (rm) āĻ•āϰ⧇ āĻĻ⧇āύ, āϤāĻŦ⧇ āϤāĻžāϰ āϭ⧇āϤāϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϏāĻŦ āĻĢāĻžāχāϞ āĻŦāĻž āĻĄā§‡āϟāĻž āϚāĻŋāϰāϤāϰ⧇ āĻŽā§āϛ⧇ āϝāĻžāĻŦ⧇āĨ¤

āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇āϰ āĻŽā§ƒāĻ¤ā§āϝ⧁ āĻŽāĻžāύ⧇ āϤāĻžāϰ āĻšāĻžāĻ°ā§āĻĄāĻĄā§āϰāĻžāχāϭ⧇āϰāĻ“ āĻŽā§ƒāĻ¤ā§āϝ⧁āĨ¤


ā§Ģ. Data Persistence Challenges ​

āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇āϰ āĻāχ Ephemeral āĻ¸ā§āĻŦāĻ­āĻžāĻŦ⧇āϰ āĻ•āĻžāϰāϪ⧇ āĻ•āĻŋāϛ⧁ āĻšā§āϝāĻžāϞ⧇āĻžā§āϜ āϤ⧈āϰāĻŋ āĻšā§Ÿ:

  • āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇ āĻĄā§‡āϟāĻž āϰāĻžāĻ–āϞ⧇ āϤāĻž āϰāĻŋāĻŽā§āĻ­ āĻ•āϰāĻžāϰ āĻĒāϰ āĻĄā§‡āϟāĻž āĻšāĻžāϰāĻŋā§Ÿā§‡ āϝāĻžāĻ“ā§ŸāĻžāϰ āϭ⧟ āĻĨāĻžāϕ⧇āĨ¤
  • āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻĢāĻžāχāϞāϗ⧁āϞ⧋ āĻŦāĻžāϰāĻŦāĻžāϰ āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇āϰ āϭ⧇āϤāϰ⧇ āϏ⧇āϟ āĻ•āϰāĻž āĻ•āĻˇā§āϟāĻ•āϰāĨ¤

āϏāĻŽāĻžāϧāĻžāύ: āĻāχ āϏāĻŽāĻ¸ā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ⧇āϰ āϜāĻ¨ā§āϝāχ āĻĄāĻ•āĻžāϰ Volumes āĻāĻŦāĻ‚ Bind Mounts āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇, āϝāĻž āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇āϰ āĻŦāĻžāχāϰ⧇ āĻĄā§‡āϟāĻž āϏ⧇āĻ­ āĻ•āϰ⧇ āϰāĻžāϖ⧇āĨ¤


IMPORTANT

āĻŽāύ⧇ āϰāĻžāĻ–āĻŦ⧇āύ, Docker Best Practice āĻšāϞ⧋: āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰāϕ⧇ āĻāĻŽāύāĻ­āĻžāĻŦ⧇ āĻĄāĻŋāϜāĻžāχāύ āĻ•āϰāĻž āϝ⧇āύ āϏ⧇āϟāĻŋ āϝ⧇āϕ⧋āύ⧋ āϏāĻŽā§Ÿ āĻŦāĻ¨ā§āϧ āĻŦāĻž āϰāĻŋāĻŽā§āĻ­ āĻ•āϰāϞ⧇ āφāĻĒāύāĻžāϰ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻĄā§‡āϟāĻžāϰ āϕ⧋āύ⧋ āĻ•ā§āώāϤāĻŋ āύāĻž āĻšā§ŸāĨ¤

Released under the MIT License.