Docker-in-Docker ืืื ืึท ืืืืจืืืึทืืืืขื ืืึธืงืงืขืจ ืืึทืขืืึธื ืกืืืืืืข ืคืืืกื ืืืง ืืื ืืขื ืงืึทื ืืืื ืขืจ ืืื ืฆื ืืืืขื ืงืึทื ืืืื ืขืจ ืืืืืขืจ. ืืขืจ ืืืืคึผื ืฆืื ืคืื ืฉืืคื Docker-in-Docker ืืื ืืขืืืขื ืฆื ืืขืืคึฟื ืึทื ืืืืืงืืขื Docker ืืื. ืคืืืข ืืขื ืืฉื ื ืืฆื ืขืก ืฆื ืืืืคื Jenkins CI. ืืึธืก ืกืืื ื ืึธืจืืึทื ืืื ืขืจืฉืืขืจ, ืึธืืขืจ ืืึทื ืฉืืื ืืืืฃ ืคึผืจืึธืืืขืืก ืืืึธืก ืงืขื ืขื ืืืื ืึทืืืืืืึทื ืืืจื ืื ืกืืึธืืื ื ืืึธืงืงืขืจ ืืื ืึท Jenkins CI ืงืึทื ืืืื ืขืจ. ืืขืจ ืึทืจืืืงื ืืขืจืฆืืืื ืืืจ ืืื ืฆื ืืึธื ืืึธืก. ืืืื ืืืจ ืืขื ื ืืื ืืขืจืขืกืืจื ืืื ืื ืืขืฆื ืืืืืื ื ืึธื ืืขืืึทืืืก, ื ืึธืจ ืืืืขื ืขื ืื ืืขืฆืืข ืึธืคึผืืืืืื ื ืคืื ืืขื ืึทืจืืืงื, "ืกืึทืืืืื ื ืื ืคึผืจืึธืืืขื."
ืืึธืงืขืจ-ืืื-ืืึธืงืงืขืจ: "ืืื"
ืืขืจ ืืื ืฆืืืื ืืึธืจ ืฆืืจืืง ืืื ืฉืืขืื ืืื ืืื ืืึธืงืงืขืจ
- ืืึทืงืึทืื ืืึทืง;
- ืืืืขื;
- ืกืืึธืคึผืคึผืื ื ืึท ืคืืืกื ืืืง ืืึธืงืงืขืจ ืืืืืึทื;
- ืืึธื ืืฉืื ื ืึท ื ืืึท ืืึธืงืงืขืจ ืืืืืึทื;
- ืืขืกืืื ื;
- ืืืืขืจืืืจื ืืขื ืฆืืงื.
ืืืื ืืืจ ืืขืืืืื ืฆื ืืึทืื ืึท ืฉืืื, ืจืขืคึผืจืึธืืืกืืืืข ืคึฟืึทืจืืึทืืืื ื (ืืึธืก ืืื, ืืื ืึท ืงืึทื ืืืื ืขืจ), ืขืก ืืื ืืขืืืืจื ืืขืจ ืื ืืจืึทืงืึทื:
- ืืึทืงืึทืื ืืึทืง;
- ืืึทืื ืืืืขืจ ืึทื ืึท ืืจืืขืื ืืืขืจืกืืข ืคืื โโืืึธืงืขืจ ืืื ืคืืืกื ืืืง;
- ืืืืขื ื ืืึท ืืึธืงืงืขืจ ืืื ืึทืื ืืึธืงืงืขืจ;
- ืืึทืืื ืืึธืงืงืขืจ ืืืืืึทื;
- ืึธื ืืืื ืึท ื ืืึท ืืึธืงืงืขืจ ืืืืืึทื;
- ืคึผืจืืืืจื;
- ืืึทืืื ื ืืึท ืืึธืงืงืขืจ ืืืืืึทื;
- ืืืืขืจืืืจื.
ืืื ืื ืึทืืืืขื ื ืคืื Docker-in-Docker, ืืขืจ ืคึผืจืึธืฆืขืก ืืื ืืขืืืืจื ืกืืืคึผืืขืจ:
- ืืึทืงืึทืื ืืึทืง;
- ืคึฟืึทืจืืึทืืืื ื + ืงืึทืืขืจ ืืื ืืืื ืืื ืข;
- ืืืืขืจืืืจื ืืขื ืฆืืงื.
ืืื ืขืก ื ืื ืคืื ืืขืกืขืจ ืึทืืื?
ืืึธืงืขืจ-ืืื-ืืึธืงืงืขืจ: "ืฉืืขืื"
ืึธืืขืจ, ืคืึทืจืงืขืจื ืฆื ืคืึธืืงืก ืืืืืื, Docker-in-Docker ืืื ื ืืฉื 100% ืฉืืขืจื, ืคึผืึธื ืืขืก ืืื ืื ืืงืึธืจื ืก. ืืืึธืก ืืื ืืืื ืขื ืืื ืึทื ืขืก ืืขื ืขื ืขืืืขืืข ืืฉืื ืืืึธืก ืึท ืืขืืืขืืึธืคึผืขืจ ืืึทืจืฃ ืืืื ืึทืืืขืจ ืคืื.
ืืืื ืขืจ ืคืื ืืื ืงืึทื ืกืขืจื ื LSMs (ืืื ืืงืก ืืืืขืจืืืื ืืึทืืืฉืืื) ืึทืืึท ืืื AppArmor ืืื SELinux: ืืืขื ืคืืืกื ืืืง ืึท ืงืึทื ืืืื ืขืจ, ืื "ืื ืขืจืืขื ืืึธืงืงืขืจ" ืงืขื ืคึผืจืืืืจื ืฆื ืฆืืืืืื ืืืืขืจืืืื ืคึผืจืึธืืคืืืื ืืืึธืก ืืืขื ืงืึธื ืคืืืงื ืึธืืขืจ ืฆืขืืืฉื ืื "ืคืื ืืจืืืกื ืืืง ืืึธืงืงืขืจ". ืืึธืก ืืื ืื ืืขืจืกื ืฉืืืขืจ ืคึผืจืึธืืืขื ืฆื ืกืึธืืืืข ืืืขื ืืจืืื ื ืฆื ืฆืื ืืืคืืืกื ืื ืึธืจืืืื ืขื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื -ืคึผืจืืืืืืขืืืฉื ืคืึธื. ืืืึทื ืขื ืืขืจืื ืืขื ืืขืืจืืขื ืืื ืึทืืข ืืขืกืฅ ืืืึธืื ืคืึธืจื ืืืืฃ ืืืื ืืขืืืึทื ืืึทืฉืื ืืื ืืืื ืื ืืขืกื ืืืืก, ืึธืืขืจ ืืื ืืืึธืื ืงืจืึทื ืืื ืคืึทืจืืจืขื ืขื ืืืืฃ ืืืืื ืงืจืึธืกืื ืก ืืึทืฉืื (ืขืจ ืืื ืคืขืืึธืจืึท ืืื ืืื ืืขืืขื ืงืขื). ืืื ืงืขื ื ืืฉื ืืขืืขื ืงืขื ืื ืคึผืื ืืืขื ืกืืื ืคืื ืืขื ืคึผืจืึธืืืขื, ืึธืืขืจ ืขืก ืงืขื ืืืื ืืืืึทื ืืืืง ืืื ืึท ืงืืื ืืึธืืขืจ ืืืึธืก ืึทืจืืขื ืืื SELINUX=ืขื ืคืึธืจืก (ืืื ืืขืืืืื ื ืึทืคึผืึทืจืืึธืจ) ืืื ืืืื ืขื ืืขืจืื ืืขื ืืึธืื ื ืืฉื ืืขื ืืืขื ืืื ืืฉืืื SELinux ืคึผืจืึธืืคืืืื.
ืืึธืงืขืจ-ืืื-ืืึธืงืงืขืจ: "ืืืื"
ืื ืจืืข ืึทืจืืืกืืขืื ืืื ืืื Docker ืกืืึธืจืืืืฉ ืืจืืืืขืจืก. ืืืขื ืืืจ ืืืืคื Docker-in-Docker, ืคืื ืืจืืืกื ืืืง ืืึธืงืงืขืจ ืืืืคื ืืืืฃ ืฉืคึผืืฅ ืคืื ืึท ืจืขืืืืขืจ ืืขืงืข ืกืืกืืขื (EXT4, BTRFS, ืึธืืขืจ ืืืขืืืขืจ ืืืจ ืืึธื) ืืื ืื ืขืจืืขื ืืึธืงืงืขืจ ืืืืคื ืืืืฃ ืฉืคึผืืฅ ืคืื ืึท ืงืึธืคึผืืข-ืืืืฃ-ืฉืจืืึทืื ืกืืกืืขื (AUFS, BTRFS, Device Mapper) , ืืื"ื ื). , ืืืคึผืขื ืืื ื ืืืืฃ ืืืึธืก ืืื ืงืึทื ืคืืืืขืจื ืฆื ื ืืฆื ืคืื ืืจืืืกื ืืืง ืืึธืงืงืขืจ). ืืขื ืงืจืืืืฅ ืคืืืข ืงืึทืืืึทื ืืืฉืึทื ื ืืืึธืก ืืืขื ื ืืฉื ืึทืจืืขืื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืืืขื ื ืืฉื ืงืขื ืขื ืฆื ืืืืคื AUFS ืืืืฃ ืฉืคึผืืฅ ืคืื AUFS.
ืืืื ืืืจ ืืืืคื BTRFS ืืืืฃ ืฉืคึผืืฅ ืคืื BTRFS, ืขืก ืืึธื ืึทืจืืขืื ืืื ืขืจืฉืืขืจ, ืึธืืขืจ ืึทืืึธื ืขืก ืืขื ืขื ื ืขืกืืขื ืกืืืืืึทืืืืื, ืืืืืืื ื ืื ืคืึธืืขืจ ืกืืืืืึธืื ืืืขื ืคืึทืจืืึธืื. ืื Device Mapper ืืึธืืืืข ืืื ืงืืื ื ืึทืืขืกืคึผืึทืกืข, ืึทืืื ืืืื ืงืืืคื ืืึทืงืงืขืจ ืื ืกืืึทื ืกืื ืืืืคื ืขืก ืืืืฃ ืืขืจ ืืขืืืืงืขืจ ืืึทืฉืื, ืืื ืึทืืข ืงืขื ืขื ืืขื (ืืื ืืฉืคึผืขื) ืื ืืืืืขืจ ืืืืฃ ืืขืืขืจ ืื ืืขืจืขืจ ืืื ืืืืฃ ืื ืืึทืงืึทืคึผ ืืขืืืืกืขืก ืคืื ืื ืงืึทื ืืืื ืขืจ. ืืืก ืืื ืฉืืขืื.
ืขืก ืืขื ืขื ืืืึธืจืงืึทืจืึธืื ืืก ืฆื ืกืึธืืืืข ืคืืืข ืคืื โโืื ืคึผืจืึธืืืขืืก. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืื ืืืจ ืืืืื ืฆื ื ืืฆื AUFS ืืื ืื ืขืจืืขื ืืึธืงืงืขืจ, ื ืึธืจ ืงืขืจ ืื /var/lib/docker ืืขืงืข ืืื ืึท ืืึทื ื ืืื ืืืจ ืืืขื ืืืื ืืื. Docker ืืื ืฆืืืขืืืืื ืขืืืขืืข ืืึทืืข ื ืึธืืขื ืกืคึผืืืกืึทื ืฆื ืื Device Mapper ืฆืื ื ืขืืขื ืึทืืื ืึทื ืืืื ืงืืืคื ืืึธืงืงืขืจ ืจืืคื ืืืืคื ืืืืฃ ืืขืจ ืืขืืืืงืขืจ ืืึทืฉืื, ืืื ืืืขืื ื ืืฉื ืืจืขืื ืืืืฃ ืืขืืขืจ ืื ืืขืจืขืจ.
ืึธืืขืจ, ืึทืืึท ืกืขืืึทืคึผ ืืื ื ืืฉื ืคึผืฉืื, ืืื ืืืจ ืงืขื ืขื ืืขื ืคึฟืื ืื
ืืึธืงืขืจ-ืืื-ืืึธืงืงืขืจ: ืขืก ืืืขืจื ืขืจืืขืจ
ืืืึธืก ืืืขืื ืื ืืืืขื ืงืึทืฉ? ืืึธืก ืงืขื ืืืื ืืืื ืืึทื ืฅ ืฉืืืขืจ. ืืขื ืืฉื ืึธืคื ืคืจืขืื ืืืจ "ืืืื ืืื ืืืืคื ืืึธืงืขืจ-ืืื-ืืึธืงืงืขืจ, ืืื ืงืขื ืขื ืืื ื ืืฆื ืืืืืขืจ ืืึธืืกืืื ืืืืฃ ืืืื ืืึทืืขืืึธืก ืึทื ืฉืืึธื ืคืื ืคึผืืืื ื ืึทืืฅ ืฆืืจืืง ืืื ืืืื ืื ืขืจืืขื ืืึธืงืงืขืจ"?
ืขืืืขืืข ืขื ืืขืจืคึผืจืืืืื ื ืืขื ืืฉื ืืึธืื ืืขืคืจืืืื ืฆื ืืื ืื /var/lib/docker ืคึฟืื ืืขืจ ืืึทืืขืืึธืก ืฆื ืึท ืืึธืงืงืขืจ-ืืื-ืืึธืงืงืขืจ ืงืึทื ืืืื ืขืจ. ืืื ืืื ืืืืื /var/lib/docker ืืื ืงืืืคื ืงืึทื ืืืื ืขืจื.
ืฆื ืืืจ ืืืืื ืฆื ืคืึทืจืืึธืจืื ืืืื ืืึทืื? ืืืืึทื ืืึธืก ืืื ืคึผืื ืงื ืืืึธืก ืืืขื ืฉืขืืืงื ืืืื ืืึทืื!
ืื ืืึธืงืงืขืจ ืืืืืึทื ืืื ืงืืืจ ืืืืืื ื ืฆื ืืึธืื ืืืกืฉืืืกืืง ืึทืงืกืขืก ืฆื /var/lib/docker. ืืึธืจื ืืฉื ืึทื ืืขืจืฉ ืืึธื "ืจืืจื, ืฉืืืจืืขื ืึธืืขืจ ืคึผืจืึธื" ืงืืื ืืึธืงืงืขืจ ืืขืงืขืก ืืื ืืขื ืืขืงืข.
ืคืืจืืืืก ืืื ืืึธืก ืึทืืื? ืืืืึทื ืืึธืก ืืื ืืขืจ ืจืขืืืืืึทื ืคืื ืืืื ืขืจ ืคืื ืื ืืึทืจืืึทืกื ืืขืงืฆืืขืก ืืขืืขืจื ื ืืฉืขืช ืืขืืืขืืึธืคึผืื ื ืืึธืืงืืึธืื. ืื ืืึธืืงืืึธืื ืงืึทื ืืืื ืขืจ ืืึธืืึธืจ ืืื ืืขืืืคื ืืืจื ืงืืืคื ืคึผืจืึทืกืขืกืึทื ืฆื ืึทืงืกืขืก /var/lib/dotcloud ืกืืืืึทืืืืื ืืึทืกืื. ืืืืจืข ืืจืืงืก ืึทืืึท ืืื ืึทืืึธืืืฉืข ืืขืงืข ืคืึทืจืืืึทื (ืึทื ืฉืืึธื ืคืื ืืื-ืึธืจื ืขืืืืื ื), ืคึผืขืคึผืขืจืื ื ืงืึธื ืืื ืึทืืืืืืืขืจื ืืื ืืึทื ืืึทืืึธืจื ืืึทืงืก, ืืื ืื ืืขืจืข ืืงืกืคึผืขืจืึทืืึทื ืฅ ืืื ืืืืขืจ ืกืืกืืขืืขื ืึทืืึท ืืื SQLite ืืื BDB ืืื ื ืืฉื ืฉืืขื ืืืง ืึทืจืืขื. ืืืขื ืืืจ ืจืืืืืืื ื ืืื ืืืขืจ ืงืึทื ืืืื ืขืจ ืืึธืืึธืจ, ืืืึธืก ืืืืขื ืืฉืึทืืืึทืื ืืขืืืืจื ืืึธืงืขืจ, ืืืื ืขืจ ืคืื ืื ืืจืืืก ืคึผืืึทื ืืืกืืืฉืึทื ื ืืื ืืขืืืขื ืฆื ืงืึธื ืกืึธืืืืืจื ืึทืืข ืงืึทื ืืืื ืขืจ ืึทืคึผืขืจืืืฉืึทื ื ืืื ืืขืจ ืึท ืืืื ืืืืืึทื ืฆื ืืืกืืืืื ืึทืืข ืื ืงืึทื ืงืขืจืึทื ืกื ืืืืื.
ืฆื ื ืื ืืึทืงืืืขื ืืืจ ืคืึทืืฉ: ืขืก ืืื ืืขืืึทืืจืข ืืขืืืขื ืฆื ืืึทืื ืขืคึผืขืก ืืื, ืคืึทืจืืึธืืืขื ืืื ืฉื ืขื ืืืึธืก ืื ืืืึทืืืื ืงืืืคื ืคึผืจืึทืกืขืกืึทื ืืื ืืึธืืขืจื ืคึผืึทืจืึทืืขื ืงืึธื ืืจืึธื. ืึธืืขืจ ืืืจ ืืจืึทืืื ืขืก ืืื ืกืืืคึผืืขืจ ืืื ืืจืื ืืขืจ ืฆื ืฉืจืืึทืื ืืื ืืืึทื ืขื ืงืึธื ื ืืฆื ืืึธืงืขืจ ืืื ืืขืจ ืืืืื ืฉืคึผืืืขืจ.
ืืขื ืืืื ืึทื ืืืื ืืืจ ืืืืื ืื /var/lib/docker ืืืขืืืืืึทืืขืจ ืฆืืืืฉื ืงืืืคื ืืึธืงืงืขืจ ืื ืกืืึทื ืกืื, ืืืจ ืืืขื ืืึธืื ืคึผืจืึธืืืขืืก. ืืึธื, ืืึธืก ืงืขื ืึทืจืืขืื, ืกืคึผืขืฆืืขื ืืื ืื ืคืจื ืกืืึทืืขืก ืคืื ืืขืกืืื ื. "ืืขืจื, ืืึท, ืืื ืงืขื ืขื ืืืืคื ืืืื ืื ืืื ืึท ืืึธืงืงืขืจ!" ืึธืืขืจ ืคึผืจืึผืืื ืขืคึผืขืก ืืขืจ ืงืึธืืคึผืืืฆืืจื, ืืื ืฆื ืฆืืขื ืื ืืขืืืข ืืืื ืคืื ืฆืืืื ืคืึทืจืฉืืืขื ืข ืื ืกืืึทื ืกืื, ืืื ืืืจ ืืืขื ืืขื ืื ืืืขืื ืืจืขื ืขื.
ืืขื ืืืื ืึทื ืืืื ืืืื ืกื ืกืืกืืขื ืคึผืขืจืคืึธืจืื ืืืืขื ืืื ืจืืืืืื, ืืขืืขืจ ืืึธื ืืืจ ืจืืกืืึทืจื ืืืื ืืึธืงืงืขืจ-ืืื-ืืึธืงืงืขืจ ืงืึทื ืืืื ืขืจ, ืืืจ ืจืืืืงืืจื ืฆื ืคืึทืื ืึท ื ืืง ืืื ืืืื ืงืึทืฉ. ืืืก ืืื ืืืื ื ืืฉื ืฉืืื!
ืื ืืืืืื ื
ืืึธืืืจ ื ืขืืขื ืึท ืฉืจืื ืฆืืจืืง. ืฆื ืืืจ ืืึทืงืข ืืึทืจืคึฟื Docker-in-Docker ืึธืืขืจ ืืืจ ื ืึธืจ ืืืืื ืฆื ืงืขื ืขื ืืืืคื ืืึธืงืงืขืจ ืืื ืืืืขื ืืื ืืืืคื ืงืึทื ืืืื ืขืจื ืืื ืืืืืขืจ ืคึฟืื ืืืื ืกื ืกืืกืืขื ืืฉืขืช ืื ืกื ืกืืกืืขื ืืื ืืื ืืื ืึท ืงืึทื ืืืื ืขืจ?
ืืื ืืขืืืขื ืึทื ืจืืึฟ ืืขื ืืฉื ืืืขืื ืื ืืขื ืขืจ ืึธืคึผืฆืืข, ืืืึทืืฉ ืืื ืืืขืื ืึท CI ืกืืกืืขื ืืื Jenkins ืฆื ืืืืคื ืงืึทื ืืืื ืขืจื. ืืื ืื ืืืืึทืกื ืืืขื ืฆื ืืึธื ืืึธืก ืืื ืฆื ืคืฉืื ืึทืจืืึทื ืืืืื ืึท ืืึธืงืงืขืจ ืืึธืืขื ืืื ืืืื ืกื ืงืึทื ืืืื ืขืจ ืืื ืคืึทืจืืื ืื ืขืก ืืื ืื -v ืคืึธื.
ืคืฉืื, ืืืขื ืืืจ ืืืืคื ืืืื CI ืงืึทื ืืืื ืขืจ (Jenkins ืึธืืขืจ ืื ืืขืจืข), ืึทื ืฉืืึธื ืคืื ืืึทืงืื ื ืขืคึผืขืก ืฆืืืืืขื ืืื Docker-in-Docker, ืึธื ืืืื ืขืก ืืื ืื ืฉืืจื:
docker run -v /var/run/docker.sock:/var/run/docker.sock ...
ืืขืจ ืงืึทื ืืืื ืขืจ ืืืขื ืืืฆื ืืึธืื ืึทืงืกืขืก ืฆื ืื ืืึธืงืงืขืจ ืืึธืืขื ืืื ืืขืจืืืขืจ ืงืขื ืขื ืืืืคื ืงืึทื ืืืื ืขืจื. ืึทืืืฅ ืึทื ืึทื ืฉืืึธื ืคืื ืืืืคื "ืงืื ื" ืงืึทื ืืืื ืขืจื, ืขืก ืืืขื ืงืึทืืขืจ "ืกืืืืื ื" ืงืึทื ืืืื ืขืจื.
ืคึผืจืึผืืื ืืึธืก ืืื ืื ืืึทืึทืืืขืจ ืืึธืงืงืขืจ ืืืื (ืืืึธืก ืึผืืื ืื ืืึธืงืงืขืจ ืืืื ืขืจื):
docker run -v /var/run/docker.sock:/var/run/docker.sock
-ti docker
ืขืก ืงืืงื ืืื ืึทืจืืขื ืืื Docker-in-Docker, ืึธืืขืจ ืขืก ืืื ื ืืฉื Docker-in-Docker: ืืืขื ืืขืจ ืงืึทื ืืืื ืขืจ ืงืจืืืืฅ ื ืึธื ืงืึทื ืืืื ืขืจื, ืืื ืืืขืื ืืืื ืืืฉืืคื ืืื ืื ืฉืคึผืืฅ-ืืืจืื ืืึธืงืงืขืจ. ืืืจ ืืืขื ื ืืฉื ืืขืจืคืึทืจืื ื ืื ืืืึทื ืืคืขืงืฅ ืคืื ื ืขืกืืื ื ืืื ืื ืคึฟืึทืจืืึทืืืื ื ืงืึทืฉ ืืืขื ืืืื ืฉืขืจื ืืืจื ืงืืืคื ืงืึทืืืก.
ืืึทืืขืจืงืื ื: ืคืจืืขืจืืืงืข ืืืขืจืกืืขืก ืคืื ืืขื ืึทืจืืืงื ืึทืืืืืืื ืฆื ืคึฟืึทืจืืื ืืื ื ืื ืืึธืงืงืขืจ ืืืื ืขืจื ืคึฟืื ืืขืจ ืืึทืืขืืึธืก ืฆื ืืขื ืงืึทื ืืืื ืขืจ. ืืึธืก ืืื ืืืฆื ืืขืืืืจื ืึทื ืจืืืืืึทืืึทื ืืืืึทื ืื ืืึธืงืงืขืจ ืืึธืืึธืจ ื ืื ืืขืจ ืงืึธืืืขืจืก ืกืืึทืืืง ืึธืืขืจ ืึผืืขื ืกืืึทืืืง ืืืืืจืขืจืื.
ืืืื ืืืจ ืืืืื ืฆื ื ืืฆื Docker ืคึฟืื Jenkins CI, ืืืจ ืืึธืื 2 ืึธืคึผืฆืืขืก:
ืื ืกืืึธืืื ื ืื Docker CLI ื ืืฆื ืื ืืงืขืจืืืง ืืืื ืคึผืึทืงืงืึทืืื ื ืกืืกืืขื (ื"ื ืืืื ืืืื ืืืื ืืื ืืืืืจื ืืืืฃ ืืขืืืึทื, ื ืืฆื .deb ืคึผืึทืงืึทืืืฉืึทื), ื ืืฆื ืื Docker API.
ืขืืืขืืข ืึทืืก ๐
ืืื ืง ืืืจ ืคึฟืึทืจ ืกืืืืื ื ืืื ืืื ืื. ืฆื ืืืจ ืืื ืืื ืืืขืจ ืึทืจืืืงืืขื? ืืืืื ืฆื ืืขื ืืขืจ ืืฉืืงืึทืืืข ืืื ืืึทืื? ืฉืืืฆื ืืื ืื ืืืจื ืคึผืืืืกืื ื ืึท ืกืืจ ืึธืืขืจ ืจืขืงืึทืืขื ืืื ืฆื ืคืจืขื ืื,
Dell R730xd 2 ืืื ืืฉืืคึผืขืจ ืืื Equinix Tier IV ืืึทืื ืฆืขื ืืขืจ ืืื ืืืกืืขืจืืื? ื ืึธืจ ืืึธ
ืืงืืจ: www.habr.com