Skip to content

Docker Context 🌐 ​

āφāĻĒāύāĻžāϰ āύāĻŋāĻœā§‡āϰ āĻŽā§‡āĻļāĻŋāύ āĻĨ⧇āϕ⧇ āϰāĻŋāĻŽā§‹āϟ āϕ⧋āύ⧋ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇āϰ āĻĄāĻ•āĻžāϰ āχāĻžā§āϜāĻŋāύ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ Docker Context āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§ŸāĨ¤ āĻāϟāĻŋ āĻŽāĻžāĻ˛ā§āϟāĻŋāĻĒāϞ āĻĄāĻ•āĻžāϰ āĻšā§‹āĻ¸ā§āϟ āĻŽā§āϝāĻžāύ⧇āϜ āĻ•āϰāĻž āĻ…āύ⧇āĻ• āϏāĻšāϜ āĻ•āϰ⧇ āĻĻā§‡ā§ŸāĨ¤


ā§§. Docker Context āĻ•āĻŋ? ​

āϏāĻžāϧāĻžāϰāĻŖāϤ āφāĻŽāϰāĻž āϝāĻ–āύ docker ps āĻŦāĻž docker run āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻ⧇āχ, āϏ⧇āϟāĻŋ āφāĻŽāĻžāĻĻ⧇āϰ āϞ⧋āĻ•āĻžāϞ āĻŽā§‡āĻļāĻŋāύ⧇āϰ āĻĄāĻ•āĻžāϰ āχāĻžā§āϜāĻŋāύ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ ā§ĢāϟāĻŋ āφāϞāĻžāĻĻāĻž āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĨāĻžāϕ⧇, āϤāĻŦ⧇ āϏ⧇āϗ⧁āϞ⧋āϤ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŦāĻžāϰāĻŦāĻžāϰ SSH āĻ•āϰ⧇ āϭ⧇āϤāϰ⧇ āĻĸā§‹āĻ•āĻž āĻŦāĻŋāϰāĻ•ā§āϤāĻŋāĻ•āϰāĨ¤

Docker Context āφāĻĒāύāĻžāϕ⧇ āφāĻĒāύāĻžāϰ āϞ⧋āĻ•āĻžāϞ āϟāĻžāĻ°ā§āĻŽāĻŋāύāĻžāϞ āĻĨ⧇āϕ⧇āχ āϰāĻŋāĻŽā§‹āϟ āϏāĻžāĻ°ā§āĻ­āĻžāϰāϗ⧁āϞ⧋āϕ⧇ āϏ⧁āχāϚ āĻ•āϰāĻžāϰ āĻāĻŦāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻ⧇āĻ“ā§ŸāĻžāϰ āϏ⧁āĻŦāĻŋāϧāĻž āĻĻā§‡ā§ŸāĨ¤


⧍. āϕ⧇āύ Docker Context āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇āύ? ​

  • āĻāĻ•āχ āϏāĻžāĻĨ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋāĻĒāϞ āĻšā§‹āĻ¸ā§āϟ: āϞ⧋āĻ•āĻžāϞ āĻŽā§‡āĻļāĻŋāύ, āĻ•ā§āϞāĻžāωāĻĄ āϏāĻžāĻ°ā§āĻ­āĻžāϰ (AWS/DigitalOcean), āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§‡āϜāĻŋāύ āϏāĻžāĻ°ā§āĻ­āĻžāϰāϕ⧇ āĻāĻ• āϜāĻžā§ŸāĻ—āĻž āĻĨ⧇āϕ⧇ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞ āĻ•āϰāĻžāĨ¤
  • SSH āχāĻ¨ā§āϟāĻŋāĻ—ā§āϰ⧇āĻļāύ: āϕ⧋āύ⧋ āĻāĻ•ā§āϏāĻŸā§āϰāĻž āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻ›āĻžā§œāĻžāχ āϏāϰāĻžāϏāϰāĻŋ SSH āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϰāĻŋāĻŽā§‹āϟ āĻĄāĻ•āĻžāϰ⧇ āĻāĻ•ā§āϏ⧇āϏāĨ¤
  • āϏāĻšāϜ āϏ⧁āχāϚāĻŋāĻ‚: āĻāĻ• āĻāύāĻ­āĻžā§ŸāϰāύāĻŽā§‡āĻ¨ā§āϟ āĻĨ⧇āϕ⧇ āĻ…āĻ¨ā§āϝ āĻāύāĻ­āĻžā§ŸāϰāύāĻŽā§‡āĻ¨ā§āĻŸā§‡ āĻĻā§āϰ⧁āϤ āĻŽā§āĻ­ āĻ•āϰāĻžāĨ¤

ā§Š. āϰāĻŋāĻŽā§‹āϟ āĻ•āĻžāύ⧇āĻ•āĻļāύ āϏ⧇āϟāφāĻĒ (Setup) ​

SSH-āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ•āĻžāύ⧇āĻ•ā§āϟ āĻ•āϰāĻž (āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϏāĻšāϜ āĻĒāĻĻā§āϧāϤāĻŋ) ​

āϰāĻŋāĻŽā§‹āϟ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āϝāĻĻāĻŋ SSH āĻāĻ•ā§āϏ⧇āϏ āĻĨāĻžāϕ⧇, āϤāĻŦ⧇ āύāĻŋāĻšā§‡āϰ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋā§Ÿā§‡ āĻĒā§āϰāϏāĻ‚āĻ— (Context) āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ:

bash
docker context create my-remote-server --docker "host=ssh://user@remote-ip"

TLS-āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ•āĻžāύ⧇āĻ•ā§āϟ āĻ•āϰāĻž ​

āϝāĻĻāĻŋ āϏāĻŋāĻ•āĻŋāωāϰ āĻĄāĻ•āĻžāϰ āĻĒā§‹āĻ°ā§āϟ (ā§¨ā§Šā§­ā§Ŧ) āĻ“āĻĒ⧇āύ āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻ•āĻžāϛ⧇ āϏāĻžāĻ°ā§āϟāĻŋāĻĢāĻŋāϕ⧇āϟ āĻĨāĻžāϕ⧇:

bash
docker context create secure-server --docker "host=tcp://remote-ip:2376,ca=ca.pem,cert=cert.pem,key=key.pem"

ā§Ē. Context āĻŽā§āϝāĻžāύ⧇āϜāĻŽā§‡āĻ¨ā§āϟ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϏāĻŽā§‚āĻš ​

  • āϏāĻŦ āĻ•āĻ¨ā§āĻŸā§‡āĻ•ā§āϏāϟ āĻĻ⧇āĻ–āĻž:

    bash
    docker context ls
  • āĻāĻ•āϟāĻŋ āĻ•āĻ¨ā§āĻŸā§‡āĻ•ā§āϏāϟ āĻ…ā§āϝāĻžāĻ•ā§āϟāĻŋāĻ­ āĻ•āϰāĻž:

    bash
    docker context use my-remote-server

    (āĻāϰāĻĒāϰ āĻĨ⧇āϕ⧇ āφāĻĒāύāĻŋ āϝāĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻ⧇āĻŦ⧇āύ āϤāĻž āϏāϰāĻžāϏāϰāĻŋ āϰāĻŋāĻŽā§‹āϟ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇)

  • āϞ⧋āĻ•āĻžāϞ āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻĢāĻŋāϰ⧇ āφāϏāĻž:

    bash
    docker context use default
  • āĻ•āĻ¨ā§āĻŸā§‡āĻ•ā§āϏāϟ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āϜāĻžāύāĻž:

    bash
    docker context inspect my-remote-server

ā§Ģ. āϰāĻŋāĻŽā§‹āϟ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻĄāĻ•āĻžāϰ āĻĄā§āϝāĻžāĻŽāύ (Daemon) āϏ⧇āϟāĻŋāĻ‚āϏ ​

SSH āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ āϰāĻŋāĻŽā§‹āϟ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻĄāĻ•āĻžāϰ āχāĻ¨ā§āϏāϟāϞ āĻĨāĻžāĻ•āĻž āĻāĻŦāĻ‚ āχāωāϜāĻžāϰāϕ⧇ docker āĻ—ā§āϰ⧁āĻĒ⧇ āĻĨāĻžāĻ•āĻž āĻ›āĻžā§œāĻž āφāϰ āϤ⧇āĻŽāύ āĻ•āĻŋāϛ⧁āχ āĻ•āϰāϤ⧇ āĻšā§Ÿ āύāĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ TLS āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ āϰāĻŋāĻŽā§‹āϟ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇āϰ āĻĄāĻ•āĻžāϰ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ⧇ āĻ—āĻŋā§Ÿā§‡ āĻĒā§‹āĻ°ā§āϟ āĻ“āĻĒ⧇āύ āĻ•āϰāϤ⧇ āĻšā§ŸāĨ¤


āϏāĻžāϰāϏāĻ‚āĻ•ā§āώ⧇āĻĒ (Summary) ​

Docker Context āĻšāϞ⧋ āĻāĻ•āϜāύ āĻĄā§‡āĻ­āϞāĻĒāĻžāϰ āĻŦāĻž āĻĄā§‡āĻ­āĻ…āĻĒā§āϏ āχāĻžā§āϜāĻŋāύāĻŋ⧟āĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĒāĻžāĻ“ā§ŸāĻžāϰāĻĢ⧁āϞ āϟ⧁āϞāĨ¤ āĻāϟāĻŋ āφāĻĒāύāĻžāϰ āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āϟāĻŋāĻ­āĻŋāϟāĻŋ āĻŦāĻžā§œāĻžā§Ÿ āĻāĻŦāĻ‚ āϰāĻŋāĻŽā§‹āϟ āχāύāĻĢā§āϰāĻžāĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻŽā§āϝāĻžāύ⧇āϜāĻŽā§‡āĻ¨ā§āϟāϕ⧇ āĻ…āύ⧇āĻ• āĻŦ⧇āĻļāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻ•āϰ⧇ āϤ⧋āϞ⧇āĨ¤


TIP

āϰāĻŋāĻŽā§‹āϟ āĻ•āĻ¨ā§āĻŸā§‡āĻ•ā§āϏāϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϏāĻŽā§Ÿ āϏāĻŦ āϏāĻŽā§Ÿ āϏāϤāĻ°ā§āĻ• āĻĨāĻžāϕ⧁āύ, āĻ•āĻžāϰāĻŖ āϭ⧁āϞ āĻ•āϰ⧇ āϞ⧋āĻ•āĻžāϞ āĻŽāύ⧇ āĻ•āϰ⧇ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰ⧇ āĻĻ⧇āĻ“ā§ŸāĻžāϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āĻĨāĻžāϕ⧇āĨ¤ āϏāĻŦ āϏāĻŽā§Ÿ docker context ls āĻĻāĻŋā§Ÿā§‡ āĻšā§‡āĻ• āĻ•āϰ⧇ āύāĻŋāύ āφāĻĒāύāĻŋ āϕ⧋āύ āĻšā§‹āĻ¸ā§āĻŸā§‡ āφāϛ⧇āύāĨ¤

Released under the MIT License.