á¨áľá ááŽáááśá˝á áááľ/ááľá¨áľ áá°áľ ááááá áśá¨áá ááĽá ááŤáľ áĽá¨á°á ááአááᢠá¨ááĽáŤááĽáá á ááŁá˘áá˝ áľá áśá¨á á¨ááá˘áŤ ááŁáĽá áľááá á áááŁáá -
áśá¨á áááľá áá?
áśá¨á áá°áá áŞáŤáá˝á áááłá áᣠáááľá¨áľ áĽá ááá°áŤáľ áááľ ááľá¨á ááᢠDocker á¨áĽááľáá áá°áá áŞáŤáá˝ á ááĽááľ áááľá¨áľ á¨á°áá°á ááᢠá áśáá°á áá°áá áŞáŤáá á¨áá á¨á° áááľá áááá
áĽá áá á¨á° áááľá áĽáá° á¨áá°áłá°á áá°áá áŞáŤ á áľááá ááŤá áá˝ááᢠáśá¨á áŽáľáá á ááĽááľ áĽáá˛ááŠáŁ á ááĽááľ áĽáá˛áááŠáŁ áá°áá áŞáŤáá˝á á ááĽááľ áĽáá˛áአáĽá áŽáľ á ááá áĽá á ááľáŹáľ ááŤá¨á áŤááá áá áĽáá˛áááą áŤááááłáᢠáśá¨á áá
á á¨ááŤá°ááá ááá ááĽá°áľ áŁáá á¨áŽáá´ááá á¨áášáááááá˝á ááľá¨áᣠá áááŹá˝áá˝áá áááľá°áłá°á áĽá áááľá°áááľ á¨áá¨áąááľá áá°áśá˝ áĽá áááááŤáá˝á á áá áá ááá˘
á ááá áá ᣠáśá¨á áááááá áá°áá áŞáŤ á áŽáá´ááá ááľáĽ á°á
áááą á á°á á á áááł áĽáá˛áŤááą ááá
áľáááłáᢠá°á
áááą á¨á°á á á áááá áĽá áŽáá´áááŽá˝á á á ááľ á áľá°ááá
áá á á°ááłáłá áá áĽáá˛áŤááą áŤáľá˝áááłáᢠáŤá áááááŤááá áŤá á°á¨á᪠á¸áá á¨áá°áŤá á¨áĽáá ááá ááĽá°áľ á¨áááľááá á¨á áá áĽáá˛áŤáá áŤáľá˝áááłáá˘
á¨ááŤáŁá áááŁá ááľá¨á áĽá ááłáŞáŤáá˝ á áá¨á°ááľ áááłáá˝ á áá ááá áá˝áá:
- áááá¨áťáá (áĽá á¨áá áááŁá¸áá áááá˝) áá° áśá áŽáá´áááŽá˝ áá¸á;
- ááááľ áĽá ááá¨áŤ áĽááá á áŽáá´áááŽá˝ ááĄáľáá˝á áá¨ááá áĽá ááľá¨áľ;
- á áá¨á ááĽá¨áá˝ áĽá á á°áááá˝ ááľáĽ áĽááá á ááŤáŁáá˝ á áááľ áŚáłáá˝á áá áááááľ á˘
áśá¨áá áá áá áá áĽá˝ááá?
áá°áá áŞáŤáá˝áá á ááĽááľ áŤáľá
áśá¨á á¨áĽáľááľ áá°áąá ááá°áŤááľ á áŁá áĽáŠ áá. Docker ááá˘áá˝ á¨á áŤáŁá˘ ááŤáŁáá˝á á¨áá°áá áŞáŤáá˝ áĽá á áááááśá˝ áá áĽáá˛áŤááą áŤáľá˝áá¸ááᢠáá á á ááŁáááľ á¨á°á¨áłáłá áá á°áľ áĽá á¨áľáŤ áá°áľ áá°áľ áá áĽáá˛áááą áŤáľá˝áááłá.
áááłáᣠá¨áĽááľá ááá˘áá˝ á á áá ááľáĽ áŽáľ áá˝áá áĽá á¨áĽáľááľ ááá (á¨áśá¨á ááľáá˝ áľáĽáľáĽ) á¨áĽáŤ áŁáá°á¨áŚá˝á áá áááŤáᢠááá á˛áá áŽáąá áĽá áŽáá´áááŽá˝á áá° ááá¨áŞáŤá áŚáł ááá°á áááááá á áľááá áá¨áŤáá˝ áŤáŤááłáᢠá¨áá¨áŤ áŁá˘áŤá, áŽáľ áĽá ááľáá˝á áá° áááľ ááá áá˝áá.
ááá á áááἠáĽá áááááľ
á áśá¨á áŽáá´ááá áá á¨á°áá°á¨á° ááľá¨á áá፠áááľáá á ááá áá° ááá ááá áŤá°ááááᢠá¨áśá¨á áŽáá´áááŽá˝ á á á¨áŁá˘á áá˝á áá á áĽááá°á ááá á áá¨á ááĽá¨á ááľáĽ á áááŁá áá˝á áá ááá á á°áá ááľáĽ áá°áŠ áá˝ááá˘
á¨áśáá°á á°áááłáá˝ááľ áĽá ááá ááĽá°áľ á°ááĽáŽ á¨áľáŤ áŤááá á á°áááá ááááľ ááááŁá á ááá áŤá°ááááᢠáá°áá áŞáŤáá ááá á áááááśá˝áá ááá°ááŤáľ ááá áááĽááľ áśá¨áá áá áá áá˝ááᢠá¨ááľá¨áŤ ááĽááľ áá á áĽááá°á á°ááľ ááľáĽ áĽáá˛á¨ááá áŤáľá˝ááá.
á¨áá°á áááľ áĽá á°á¨á᪠áááľ
áśá¨á ááá áĽá ááŁá ááᢠá áááááŤááá áá á¨á°áá°á¨áą áááŁá áá˝áá˝ áá á¨ááááᣠá᪠ááŁá˘ á ááŤáá áá°áŁáᢠá á°ááá á¨áá°á áááľ á áááá áľ á áŤáŁá˘, áááłá á¨áŤáľáá á°áá ááá á¨ááłáŞáŤ áľáááľ-áĽáá° á áááááľ á˛ááĽáŠ á áá áá. ááá áá áŤáááľ ááĽáśá˝ á¨á áá áááááľ á ááááá áľ áá áá ááľá°á áĽá ááŤá¨áá á áááŹá˝áá˝ á áá áá.
áá áśá¨á á áŤááľ
áśá¨á áááľ áá áá áááá˝á áŤáá áá-
- Docker: áááľ ááá áááŁá ááľá¨á;
- Docker Hubᥠá¨áĽá ááľá¨á-áĽáá°-á áááááľ á¨áśá¨á áŽáá´áááŽá˝á ááá°áŤá¨áľ áĽá áááľá°áłá°áá˘
ááľáłááť! Docker á Apache 2.0 áááľ áľá á°á°áŤááˇáá˘
áśá¨á á ááá´áá¸á
áśá¨á á°áá á-á áááá á ááá´áá¸áá áá áááᢠá¨áśá¨á á°áá á á¨áśá¨á á´áá áá áááááᣠáá á á¨áĽááľáá ááŤáŁáá˝ á¨ááá áᣠá¨ááľáŹáľ áĽá á¨áá¨ááá á¸ááá ááááᢠáááąá á°áááá áĽá á áááá á á°ááłáłá áľáááľ áá°áŠ áá˝ááᣠá°áá ááá á¨áááľ áśá¨á á´áá áá áááááľ áá˝ááᢠá°áá áá áĽá á áááአá áśáŹáľ ááá RESTful API á áŠá áááááá˘
áśá¨á á´áá
á áĽááá ááááŤá áá áĽáá°ááłá¨á á´áá á á áľá°ááá áá˝á áá áá°áŤáᢠá°á ááá á¨á áááአáá á ááĽáł á ááááá ᣠáá ááá á°áá áá áá áááá˘
á¨áśá¨á á°áá á
á¨áśá¨á á°áá áᣠá¨áśáá°á ááŽááŤáᣠá¨áśá¨á áá á áááá˝ ááᢠá¨á°á ááá áľáááá˝á ááá áá áĽá á¨áśáá°á á´áá áá áááááá˘
á¨ááľáĽ áśá¨á
áśá¨á áá áĽáá°ááá ááá¨áłáľ áľá áśáľáľ á áŤááľ ááá áŤáľáááááłá
- ááľáá˝
- áááἠá¤áľ
- ááŤáŁáá˝
ááľáá˝
á¨áśá¨á ááľá á°ááŁá˘-áĽáť á áĽááľ ááᢠáááłáᣠááľá á¨áĄáĄááą áŚááŹá˛áá á˛áľá°á Apache áĽá á áአáá áŤá áá°áá áŞáŤ ááá áá˝ááᢠááľáá˝ ááŤáŁáá˝á áááá á áĽá á áá áááá. Docker á áłá˛áľ ááľáá˝á ááá áᣠáŤááľá áááá ááá á ááá˝ á°áá˝ á¨á°áá አááľáá˝á ááá¨áľ ááá áŤá°ááááᢠááľáá˝ á¨ááľá¨áŤ áááŁáł á áŤááľ áá¸áá˘
áááἠá¤áľ
á¨áśá¨á áááἠá¤áľ ááľáá˝á áŤá¨ááťáᢠááľáá˝á ááá¨áľ ááá ááľáá á¨ááľá˝ááŁá¸á á¨á
áἠáĽá á¨áá áááἠá¤áśá˝ á áᢠááá áśá¨á áááἠááá˘
áŽáá´áááŽá˝
áŽáá´áááŽá˝ á¨áááŤáá˝ áá á°ááłáłá áá¸á. áŽáá´áááŽá˝ á áááŹá˝á áááľáŹáľ á¨ááŤáľááááá áá ááááᢠáĽáŤááłááą ááŤáŁ á¨ááľá á¨á°áá ᨠáá. áŽáá´áááŽá˝ ááá áŠáŁ ááááŠáŁ áááᣠáá°á°áą ááá áá°á¨á áá˝ááᢠáĽáŤááłááą áŽáá´ááá á°áááˇá áĽá ááá°áá áŞáŤá á áľá°ááá ááľá¨á áŤáááŁá. áŽáá´áááŽá˝ á¨áĽáŤá áááá˝ áá¸á.
áľááá Docker áĽáá´áľ áá á¨áá°áŤá?
áĽáľá¨áá áľá¨áľ áĽááááááĄ-
- áá°áá áŞáŤááťá˝á á¨ááááŁá¸áá ááľáá˝ ááá á áĽáá˝ááá;
- á áááŹá˝áá˝á áááľáŹáľ á¨ááľáá˝ ááŤáŁáá˝á ááá á áĽáá˝ááá;
- ááľáá˝á á Docker Hub ááá á áá á¨ááľá áááἠáá°áŤá¨áľ áĽáá˝áááá˘
áĽááá áááá˝ áĽáá´áľ áĽáá°ááŁáአáĽáá.
ááľá áĽáá´áľ áá á¨áá°áŤá?
ááľá ááŤáŁ á¨ááá áá áľ á°ááŁá˘-áĽáť á áĽááľ áááá á áľááľáá áĽáááááᢠáĽáŤááłááą ááľá á°á¨ááá˝á áŤáŤáľáłá. áśá¨á áá ááá
áśá¨á ááá áĽáá˛áá á¨ááŤá°áááľ ááááŤáśá˝ á ááą áĽáá°áá á áááľ ááĽááĽáŽá˝á áľááá áá ááᢠááľáá á˛áááŠáŁ áááłá áá°áá áŞáŤá ááááᣠá á˛áľ ááĽááĽá ááá áŤáᢠáľááá ᣠááľáá áá á áá áłááááŠáľ ááá áĽáá°áá áłááááĄáľáŁ á¨á¨áášáá áá˝á áá áĽáá°áááááľáŁ ááĽááĽáŠ áĽáť áá á¨áá¨áá¨á ááá á¨áááááᢠáĽá á á˛áąá ááľá áá á áá áá°áŤá¨áľ á¨ááĽááľá ᣠáááá áĽáť áá°áŤáŤá ᣠáá á ááľáá˝á ááá°áŤá¨áľ ááá áĽá ááŁá áŤá°ááááá˘
á áĽáŤááłááą ááľá áἠááľáĽ áá°á¨áłá ááľá áá. áááłáᣠubuntuᣠá¨áĄáĄááą áááť ááľáᣠááá ááśáŤáŁ á¨ááśáŤ áľáááľ áá°á¨áłá ááľáᢠá á˛áľ ááľáá˝á áááá á ááľáá˝á áĽáá° áá°á¨áľ á áľááá áá áá áá˝áá. áááłáᣠᨠapache ááľá áŤáááľáŁ ááľá áá°áá áŞáŤáá˝á áĽáá° áá°á¨áłá ááľá áá ááá áľ áá˝ááá˘
ááľáłááť! Docker á á°áááś ááľáá˝á á¨Docker Hub áááἠáááľáłáá˘
Docker ááľáá˝ á¨áĽááá á¨áá á¨áľ ááľáá˝ ááá አáá˝áá, áĽááá á ááľáá˝ áááŞáŤáá˝á áááá á á°á¨ááášá áĽáá áŤááá. áĽáŤááłááą áááŞáŤ á á˛áľ ááľá ááá á°á¨á áááĽáŤá. áááŞáŤá áĽáá°áá¨á°áá áááá.
- áľááá á ááľ
- ááá ááá áá፠áá¨á
- á¨á áŤáŁá˘ á°áááá ááá á
- á¨áá ááľá ááŤáŁ á áááłá áľ áá áá áĽáá°áá°áŤ áááŞáŤ
áĽááá
áááŞáŤáá˝ á ááá ááľáĽ á°ááá áá Dockerfile
. áśá¨á áá
á áŤááŁáᢠDockerfile
, ááľáá á˛áááĄ, áĽááá
á áááŞáŤáá˝ áŤáľáá˝áá áĽá á¨áá¨á¨áťáá ááľá ááááłá.
á¨áśáá°á áááἠá¤áľ áĽáá´áľ áá áŤá?
áááᥠááśá¨á ááľáá˝ áá¨ááť ááᢠááľá á áá´ á¨á°áá ᨠá áá áá° áááá á¨Docker Hub áááἠá¤áľ ááá áá° áĽááľá á¨áá áááἠá¤áľ áá°á áá˝ááá˘
á áśá¨á á°áá áᣠáá°á áĽáá á¨áłá°á ááľáá˝á áááá áĽá ááŤáŁáá˝á áááá á áá° áśá áá˝áá ááá¨áľ áá˝ááá˘
Docker Hub á¨á áἠáĽá á¨áá ááľá áá¨ááťáá˝á áŤáááŁáᢠááľáá˝á á¨á áἠáá¨ááťáá˝ áááá áĽá ááá¨áľ áááá á°á ááááᢠá¨áá áá¨ááťáá˝ áááśá˝ á ááá áá¤áśáš ááľáĽ á áá°áŤá°áąáᢠáĽá áĽááľá áĽá á°á áááá˝á áĽáť áĽááá á ááľáá˝ ááá á áĽá ááŤáŁáá˝á ááá á á¨áá˝ááľá˘
ááŤáŁ áĽáá´áľ áá áŤá?
ááŤáŁá áŚááŹá˛áá á˛áľá°áᣠá¨á°á áá áááá˝ áĽá ááłáłáł áŤáŤáľáłáᢠáĽáá°ááááá, áĽáŤááłááą áŽáá´ááá á¨ááľá á¨á°áá ᨠáá. áá ááľá á ááŤáŁá ááľáĽ áá áĽááłáᣠáá á áááľ áá°áľ áĽáá°ááááᣠáŽáá´ááአá˛ááá áĽá áá á¨áááá ááἠááśáá°á áááá¨ááᢠá¨áśá¨á ááľá á°ááŁá˘-áĽáť ááᢠáśá¨á áŽáá´ááá á˛ááá á ááľá áá (á¨áá á ááľ áĽáá°á°ááá¸á á¨áŠáá¨á ááá áľáááľá á áá áá) á¨ááá áĽ/á¨ááá ááĽááĽá áááĽáŤáá˘
ááŤáŁá á˛ááá áá áááá?
ááá ááŽááŤáá á áá áá docker
ááá RESTful á¤áá áá á áá áá á¨áśá¨á á°áá áá ááŤáŁáá áĽáá˛ááá ááśá¨á á´áá áááá¨ááá˘
$ sudo docker run -i -t ubuntu /bin/bash
áá
á áľáĽáá áĽáááá¨áľá˘ á°áá áá áľáááá á áá áá ááááŤá docker
ᣠá¨á ááŤá áá run
á á˛áľ áŽáá´áá áááł áá á¨áááᢠááŤáŁáá áááľáŹáľ áá
á°áá ááľáááśá˝ á¨áá¨á°ááľ áŁá
áŞáá˝ áá¸á á˘
- ááŤáŁáá áááá á á¨áľááá ááľá áá áá áĽáá°ááťá. á áĽá áááł
ubuntu
- ááŤáŁá á˛ááá ááľáŹáľ á¨áááááľ áľááá. á áĽá áááł
/bin/bash
áá áá áľáĽáá áľááľáŹáľ á áŽáľ áľá áá áááá?
áśá¨á ᣠá á á°á á°á¨á°á ᣠá¨áá¨á°ááľá áŤá°ááá
- á¨áĄáĄááąá ááľá áŤáááłááĄ- áśá¨á á¨ááľá á°ááááľá áááľáťá
ubuntu
á á áŤáŁá˘á áá˝á áá, áĽá áĽá፠á¨áá, á¨á፠áŤáááąáľDocker ááá¨á . ááľá áŤá, ááŤáŁ áááá á áá ááá áłá; - ááŤáŁá áááĽáŤá; ááľá á˛á°áá°á áśá¨á ááŤáŁ áááá á áá ááá áłá;
- á¨ááá áľáááąá áŤáľáááŤá áĽá á°ááŁá˘-áĽáť á°á¨áá ááááᥠááŤáŁá á ááá áľáááľ ááľáĽ á°áá ᨠáĽá ááľá áá° á°ááŁá˘-áĽáť á°á¨á á°á¨ááŻá;
- ááľááá/áľááľáŠá áŤáľáááŤááĄ- áśá¨á á¨á áľá°ááá áá˝á áá áĽáá˛ááá á¨ááŤáľá˝á á¨á ááłá¨ áá¨áĽ á áááá˝ áááĽáŤá;
- á¨á áá á áľáŤáťáá áááá á; á áľáŤáťáá ááá áŤáááá;
- á¨á°ááá¸áá áá°áľ ááááŤááĄ- áá°áá áŞáŤáá ááááŤá;
- á¨áá°áá áŞáŤá áá ááľ áŤáľáŹáłá áĽá áŤáľáááᥠá¨áá°áá áŞáŤáá áá°á á ááĽá áľáŁ áá ááľ áĽá á¨áľá á°áľ áĽá¨áľ áŤáááá áĽá áááááŁá áľááá áá°áá áŞáŤá áĽáá´áľ áĽá¨á°áŤ áĽáá°áá áá¨áłá°á áá˝ááá˘
á áá á¨áá ፠ááŤáŁ á áá ᢠááŤáŁáá ááľá°áłá°áᣠá¨áá°áá áŞáŤá áá ááľá°ááĽá ááá á áá˝ááᢠáááá¨áťáá áááá á˛ááľá ááŤáŁáá áá°áá.
áŤáááá á´áááááá˝
áśá¨á á Go ááľáĽ á¨á°áá á˛áá á¨áá áŤááá á°ááŁá ááá°áá á á ááłááľ á¨ááááľ á¨ááá áŁá áŞáŤáľá áá áááá˘
á¨áľá áŚáłáá˝
áśá¨á á´ááááá áá ááá namespaces
áŽáá´áááŽá˝ áĽáá á¨ááá áŤá¸á áááá°á á¨áĽáŤ áŚáłáá˝á ááá°áŤááľ. ááŤáŁ áľáááá áśá¨á áá፠ááŤáŁ á¨áľá áŚáłáá˝ áľáĽáľáĽ áááĽáŤáá˘
áá á¨áááá°á ááĽááĽá áááĽáŤá, áĽáŤááłááą á¨áĽá ááŤáŁá áá˝áł á áŤáą á¨áľá áŚáł áá áá°áŤá áĽá áá° ááŤá áľáááą ááłá¨áť á¨ááá.
áśá¨á á¨áá áááŁá¸á á ááłááľ á¨áľá áŚáłáá˝ áááááĄ-
- áᲠáá°áąá áááá¨áľ;
- á¨á°áŁáŤ: á¨á ááłá¨ áá¨áĽ áááááá˝á áááľá°áłá°á;
- á ááá˛áĄ á¨á ááᲠááĽáśá˝á áááľá°áłá°á. (á áá˛áᥠá˘áá°áááŽá´áľ áŽáááŹá˝á);
- mnt: á¨ááŤá ááĽáŚá˝á áááľá°áłá°á;
- utc: á¨á¨ááá áĽá á¨ááĽáĽá áĽáŞáľ áááá¨áľá áááá¨áľ (UTC: Unix timesharing system)á˘
á¨ááĽáĽá áĄáľáá˝
áśá¨á á´áááááá áá ááá cgroups
ááá á¨ááĽáĽá áĄáľáá˝. á áááŹá˝áá á á°ááĽá ááááľ ááá ááá á áááŹá˝áá áá
á¨áĽ á¨áááááľá ááĽá áľ áĽáť áá
á¨áĽ ááᢠáá
ááŤáŁááš áĽáŠ áá¨á¤áśá˝ áĽáá°ááá áŤá¨áááŁá. á¨ááĽáĽá áĄáľáá˝ á¨ááááľá á¨áááľáá ááĽáśá˝ áĽáá˛áŤáአáĽá á áľááá á¨áá áá°áŚá˝á áĽá áá°áŚá˝á áĽáá˛áŤááá áŤáľá˝áááłáᢠáááłá, áááŤáŁá á¨ááťááá á¨ááľáłááť áá á áááľáĄ.
á áĽá¨áľ ááá áľáááľ
Union File Sysem ááá UnionFS á áŁá ááá áĽá ááŁá áĽáá˛áá á ááľá¨á ááĽááĽáŽá˝á á ááá á á¨áá°áŤ á¨ááá áľáááľ ááᢠáśá¨á áŽáá´ááአá¨á°áááŁáŁá¸áá áĽááŽá˝ áááá á UnionFSá áá áááᢠáśá¨á á¨áá¨á°ááľá á¨ááŽáĄ AUFSᣠbtrfsᣠvfs áĽá DeviceMapperá á¨áᎠá ááŤáł ᨠUnionFS á áááśá˝á áá áá áá˝ááá˘
á¨ááŤáŁ á áá¸áśá˝
áśá¨á áĽááá
á áááá˝ á ááŁáá á¨áĽá ááŤá˘áŤ ááááľ áĽáá áĽáá áŤááá áĽá
áᢠááŁáŞá á
áá¸áľ ááŁáá libcontainer
. áśá¨á á ááááľ áá áŤááá á°áááˇá á¨ááŤáŁ ááááľá áá°ááá
ááá: hab.com