ááá á°á á°áá!
áá° áááą á ááĽáł áááľ áĽáááááᣠáá áľá áłáŞáŹ áľáá˝ áááá á¨á áá áľááá áááááĄ-
áá¤áľ
á¨ááľ áá áá á áá á áááŹá˝áá˝áᣠáľáŤá/á፠áĽá áá´á áľ á á áááአáá á¨áááááľ áááľ áŤáá ááŽááŤáá ááá˘
áá¨á á áá (á áĽááá áááľ á ááľ áŁáá ááľáľ ááá áśáľáľ áááłáľ) ᣠáśá¨á á¨á°áá á¨áᣠáá áá áĽá á á á ááá á áŁá áĽáŠ ááŁáŞáŤ áá áĽá ááá ááᢠáá ááá áľ áááŁá á¨áá á áľá°áŤá¨áľ áá á¨áᢠáĽá á¨áá á áááłáľ áĽáŤááłááą ááᢠDocker á á áŤáŁá˘áŤá¸á áá˝á áá ááŤá á áá áľ. áľá áĽá á áľá°áŤá¨áľ ᣠá á°ááłáłá hh áá á¨á°áá ááľá áááľ áŚáłáá˝ áááá¨áą ᢠáĽáŤááłááą á°á¨ááľ áľá áśá¨á áá ááľ áááᣠáĽá áĽááľá áŁáá¤áľ á¨ááᣠáá á¨áĽááľá á°ááłáłáŞ áĽá á áááá đ
á áááá´ ááᣠááśá¨á áĽá ááĽá-áá áłáŠ áŤáá¸á á¨á°ááŤá¨ á áááŤá¨áľ áŤáá¸á áĽá á°áá˝á á áááᢠá ááłááśá˝ áá á¨ááľá¨á á ááŤá á°ááŁáŤáľá á¨ááŤá¨ááἠááš ááá áá áĽááá ᢠááá°áá á°áá ááá á áŽáá´ááá ááľáĽ áĽáá°ááŽáĄ áĽá á¨áą áá áľáá áĽáá°ááŤáľáá á áá°á¨áąá, áśáľá°áá ááá ááľ á áá°áŁá¸áá áĽá ááá á ááľá¸ááŠá (áŽáąá áĽáť á˝áá áá° á¤áłá¸á ááą - ááááŁá¸á, á . ááááľ :)
á¨á á ááá ááááŤáśá˝
áśá¨á ááá á°á áááŠ? ááááŁáľ á áá¨á°ááľ ááááŤáśá˝:
- á¨ááἠááł ááľááá, 99% áá°áá áŞáŤáá˝ áá ááá
- nginx á ááááŁá áá¨áá፠ááľááá áĽá ááááá ááŽáᲠááľá¨á
- áááá¨áťáá á áśáá°á ááľá áá¸á áá˝áá ᣠá áá ááááľ á¨áĽá áá°áá áŞáŤ áśá¨á áŁáá áľ áŚáł áá áá°áŤá ᣠá¨áľáááą á˝áá áá˛áŤáá áááłá á˘
- á¨á áááááľ áááľ á¨áłáĽá ááľáĽ ᣠáááᎠá°ááŞáľ ááá á áá˝áá ᣠáĽáŤááłááą ááŤáŁ (á¨á፠á ááłá¨áá¨áĽ áá á¨á°ááá) á á°ááá áľá á ááá áá° áá ááľá¨áľ áá˝áá ᣠá áŁá ááš
- ááŤáŁ ááá á áĽá á ááľáĄ "ááŤááľ" áŤáľá°áľáłá.
áľá áśá¨á áá áá á¨áááá°á ááááĄ-
- áááá¨áťáŹ áĽáá˛á°áŤáŁ á á áááአáá áśá¨á áŤáą áŤáľáááááᢠáááá¨áťááź á jre ááá nodejs áá á¨áá°áŠ á¨áá áĽá ááĽááą áŤáá á áŤáŁá˘ ááľááá á á áááአáá á¨áá ááá áá á áŤáľááááá?
- á¨áŤá´á (á¨áá) á á áá ááľáĽ á¨á°á°áŤ ááľáá á áááľ á áááá áá ááľáŹáľ á¨áááአá¨áŤá´ áśá¨á áá¨ááť áŤáľáááááᣠáááἠá¤áľ á¨áá áŚáł áááľáŤáľ áŤáľááááá áĽá https á áááá á ááĽá ááááŤáąá áśá¨á áá á https áá áĽáť áá°áŤáᢠáá ááľ...á áĽááἠááľáá á á áá ááľáĽ áááľááἠá ááŤáŽá˝ á áá˘
docker save
áĽá ááľáá á scp áĽáť ááአ... áá áá á áŁá áĽá á¨á°áááľ áĽáá áľáá´áá˝ áá. áĽá á á°á¨ááŞ, á¨áĽáŤáľá áá¨ááť áĽáľáŞáłá áľá¨áľ "ááŤá˝" áááľá áááľáá docker-compose
. ááŤáŁáá˝á áááľáŹáľ áĽáť áŤáľáááá. ááźá áá. áá ááá ááľá¨á á áá˝ááá˘Docker-compose
á¨ááááš áľáŞáśá˝ áľáĽáľáĽ á áá ᣠá¨áŤáą á ááŁáĽá˘ ááá áŤá á ááá á˘áááᣠá°ááłá¸áá ááá ἠá áááááᢠáá áŚáł á áŤáľáááááá˘- á áĄáľá ááľáĽ á áá°áŠá áľ áá áĽá á°áá˝ Dockerfileá á áŁá á áá á áá ááááľ áá˝áá ᣠáĽáá´áľ áĽáá°áá¸áἠá áá¨áąá ᣠá¨áááááľá áá áá¨ááŤá áĽá á ááľá áá á¨ááááááľá ᣠá Dockerhub ááá á áá áá¨ááť ááľáĽ á¨áá ááľáá˝ ááááłá ᣠá ááłááľ ááá áŠ
docker-compose
á¨ááἠááł áŤáá¸á áááá˝ áĽá ááá á¨áááĽá ááá á¨ááᢠá á°ááłáłá áá ááá˘ááš áśá¨á áĽáŠ áĽáá°ááᣠááá ááá á á áŤáŁá˘áŤá¸á áĽáá°áá áŤáá¸á á áŠáŤáľ áŤáááᣠáĽá HR á á áľááá áááł á áááľ áŚáłá áá âDocker áĽáá áááá áĽá áĽáá°áá ááááľ á¨áĽáŤ áááľ áŤáá áĽáŠ áĽááááááâ á áááľ á áŠáŤáľ áŤáááᢠ- á áśá¨á ááľáĽ áááá ááá áľáááłá°á ááłáŚá˝ áŤáááá¨áĽ áŤáłáľá ááᥠpostgresql, kafka, redis. ááá ááá á ááŤáŁáá˝ ááľáĽ á¨ááá°áŤ ááá á áŁá áŤáłááá, ááá ááá ááááá áĽá ááááľ ááá á áá°áá. áá á áśáľá°á ááá ááá˘áá˝ á¨á°á°áá áá, áĽá á áťáŽáš áĽáŤáłá¸á á áá°áá. áĽá á áááŤá˝á áá, áĽáŤáá áá˛áŤáá áááłá: áťáŽá˝ á áśá¨á ááľáĽ áááśáťá¸áá áľááá á á á áá¨ááá, ááá áá áá, ááááŁáľ á ááľ ááá áŤáá áááá?
- áľá ááŤáŁá áá¨á á˝ááľ áááá áĽáŤáá áááłá. áĽá á¨á፠áĽááľá áŤáľáŁá ᣠá¨á áľá°ááá áááŤáá áĽáť áá°á
á ááá á¨ááľá¨áŤ áľáá˝ ááá á ááá á áá áŤáá á¨ááἠááŤáŁ áĽá°áŤáá
deprecated
? áááŤá á¨áŤááŠáŁ á¨ááŤá á ááŤáŁá ááľáĽ áŤáá á¨á°á ááá uid áĽá gid áŽáá´áááŠá áŤáľááłá á°á áá ááłáá፠áá á¨ááááľ áááá áá¨ááἠá ááĽáᣠáá áŤááá áá á ááŤáŁá á¨á°áá አáááá˝ á¨áľá ááĽáśá˝ áá ááá áŤáᢠá¨á°á áááŠvolume
á¨á፠ááᥠá ááá á á ááłááľ ááľáĽ ááá áŤáá˘/usr/*
áĽá áĽáá° ááááŞáŤá ááłá ᨠuid áĽá gid áá á°ááłáłá áłáŞá áááŤáᢠá¨áśáľá°á ááá á áŤáá áĽá¨á¨ááą á¨áá á°ááśášá ááá ἠáĽá ááĽáŤáá áááľ áááá á ááĽááľ-âá á¨áľáááš á¨áĽá ááŤáĽáŤ áááŤáá˝ ááľáĽ ááááš áááá˝á áá˝áá?â
á¨áśá¨á áá áá¨á
á áá áááŁá á áĽááłááĽá áááá á ááá°áľáŠáľáᢠá áááť á°á¨á: áŽáá´áááŽá˝á áĽáá´áľ ááľááá áĽáá°áá˝áᣠá¨á¨áľááš ááľáá˝ áĽáá°áááá á áá
áᣠá¨á¨áĽá áśá¨á áľáááá˝ á°ááá áľáá˝á á¨áŤá Makefiles á áŠá˘ áśá¨á-á áťáťáá áĽá áá áá á ááááŤáąá á áśáá°á áľá-áá
áłá ááľáĽ áá ááłáŞáŤ ááá á ááááá áá á. áĽá docker-compose up
á á°áá á ááá áĽá፠á˘ááá á áľá¨ááá áá áᢠbuild
áááŁáłáá˝, áá°á á˛á á¨á°á°á á°áĄ ááľáá˝ ááá
. á¨áá á¨ááááá á ááľá áááľ á áĽááľ áĽá á ááĽááľ ááľáŤáľ áĽáť áá áᢠáá áśá¨áá áĽáá´áľ áá áá áĽááłááĽá ááá
á ááťááŠáá˘
ááľá°ááá ááťáá
á á áἠáá (á¨áŚáľáľ ááŤáľ á ááľ) á¨DevOps áĄáľá áá á ááťááᣠáĽáŤááłááą á áŁá áááľ ááťáá ááśá¨á á ááłá á áááŤá¨áľ áá á¨áᢠá ááááŤáľáĄ-
- áśá¨á iptablesá áá°áááá (ááá áĽááłá á daemon.json ááľáĽ áá°áá¨á á˘á˝áá)
- áśá¨á á áľá¸á᪠áá áĽá á áááľ ááľáĽ á ááľáŹá°ááá˘
- áśá¨á á´áá á¨á°á áḠááá áá á¨á° áááľ áŤáá¸á áŽáá´áááŽá˝ á áá áá á¨áľ áááľáá
- áśá¨á á áŤáľáááá
- á¨á áá˛áĽá áĽá áááŁá áá˝áá˝ áŤá ááá docker
á áá áĽáŤ áá, á¨áá ááŁáŞáŤ áá á°ááá
á - ááťá á¨áá˝á. áľááą á ááľ áá á°ááᣠáá á¨áŤá´á á¨ááŤááť áá˝áááľ áááťá á ááá¨ááŠáᢠáĽá á áá á°ááŁáŽáźá ááťá áááአáĽá á¨á፠áĽááłáŹ áá á áá á°ááá ! áľáá°ááááĽáŠáľáĄ Ansible áá°ááłáłá áśá¨á áŽáá´áááŽá˝áŁ á¨ááľá áááŁáłáá˝áŁ ááľáááŽá˝ ááá° áááľáŹáľ áááá˝ á ááľ áĽá áŽáá´áááŽá˝ á á áá ááľáĽ áĽáť áłááá á áááľ á ááááŽá˝ ááá áá°áŠ áá˝áá! á°áľáłáŹ áá°á á ááá á¨áá - á ááľ áá°á á ááłáŞáŤ á áááź Makefile áĽá áśá¨á áŤááá á¨á ááááźá áŁááŠáŁ á yaml á°ááŁáŤáľ á°á°áŠá˘ áĽáá° áááŁáłáá˝á á áá áá áŽáą áááˇá loop
, when
, ááá°
áĽáá° áłáłá¤á áŤá á¨áśáľá°á ááá áááá˝á ááááľ Docker
á á áᥠᨠssh ááťáá˝ áá á°ááááŤááᢠá¨áááľ á áááá áá°áĽ áá° á áŤáŁá˘áŤá áá°áĽ "ááľá°ááá" á áŁá ááá áĽáá°áá á°ááá¸á˘ á¨áááľ á áááአá á°áá ááľáĽ áŤá áá˝á ááá á á¨áášáá áŚááľ ááľáĽ á¨áá°áŤ áááŁá áá˝á ááá áá˝ááᢠáĽá ááá áŁáá°á¨áŁáŹ á¨ááἠááł (ááá áá á¨áśáľá°á ááá á áŤá) áŤáľáááá á ááá á ááááŠá á áá á áŤá á áľááá¨á á áááአá áááááá áľ áá ááĽááľ áĽáá˝áááᢠáá°áĽ ááľá°ááá á áśáá°á áŽáá´ááá ááľáĽ á¨áá°áŤ á¨ááἠááł áá á°ááłáłá áá¤áľ áá°áŁáá˘
áá áľááá á¨áĽáá á¨á á¨áŁá˘ áá°áĽ postgresql áá°ááŤááľ á¨áááľ á áááá áŤáľá°áááááĄ
ssh -L 9000: localhost: 5432 [á˘áá á¨á°á á á]
á¨áááľ á ááááá áá áá á˝ááŠá á¨áĄáľá áĽáľááľ áá áááłá. áĽáá°áá á áááľ á áááá á á ááľ áá á á ááŤáł ááá˘áá˝ áá ááá áľ áá˝ááᤠpostgresqlá ááááᣠDocker áĽá ááá˝ ááľáĽáľáĽ áááŽá˝á áá¨áłáľ ááťá á áŤáľáááá¸ááᢠá áááľ á áááá áá, á¨á°áá°á áľáŞáľ ááŤá á áľá¸á᪠á¨áá, á áŤáą á Docker ááľáĽ á°ááłáłá á¨ááἠááł ááŤá áá˝áá. ááá ááá˘áὠᨠssh ááłá¨áť áá á¨áĽ áá!
á¨á¤áľá¤áľá¤á˝ ááťáá˝ á¨áá°á á áŞáá¤á ááąá á°ááŁá áááá¸áá á á áᥠá ááĽá¤áŤáá! á ááá OpenVPN ááá áá á¨áŞáá¤á á á°ááŁá áá ááŤááŁáá á¨á° áááľ á ááĽá°á áááá˘áá˝ áĽáá˛á ááá áľ ááľá áľ áá˝ááᢠáá á áŁá á áŞá áá!
áĽáá° áĽáľá ááᣠAWSᣠGoogleCloud áĽá ááá˝ á ááľ á ááľ á¨ááť á á ááá áá°áĄááłáᣠáľááá áá áááŁá¸á! áĽá á áá á ááááá áľ áá áŤá ááá¸á ááŤá˝ áá¸á. áĽáá° gcloud áŤá á¨áááľ á áááá ááá áĽáá°ááŤáľáááá áááá á áľáĽ áá áᣠáŤáááá¸á áááľááá˘
áĽáá° á áŤáŁá˘áŤá áááŁá áá˝á, á áśá¨á áŽáá´áááŽá˝ ááľáĽ á áááľ áĽá á áá á¨áááá á°ááłáłá á áááá áá áá áá˝áá. á°á áᣠááá áá˝á á ááĽááľ áĽáá˛ááł áááľá¨á á ááłááľ ááá ááĽá°áľ áŤáá¸á áľáááśá˝á˘
áá áááᥠáłáłá¤á áĽá ááá˝ á¨áá á¨á° áááľ áĽá á áĽá áá˝á á áááľ á ááááŽá˝ áá ááá á á¨áášáá áŚááľ áááľ áľá˝ááá ᢠááĽááá á áááá˝ áśá¨á á áŤáľáááááá˘
áľá áśá¨á ááľáá˝ áĽá áľáááľ áľáá˝
á áľááľá á˝ááŤáá
á¨áśááľáá ááá˘áá˝ áááśáťá¸áá á áśáá°á ááľá áĽáť áá°áááŠá áľ áŚáł á áá°á
áłáááá
?
á¨á áĽááááš áááśá˝ áá¤áľ áá ááľ á¨á°áá°á ááľá¨á áááľáŽá˝ áááá˝ áá¸á ᣠáĽááą á ááá áá° áśá¨á ááľá á°á¨áá¨áá ᣠáá
á á¨á°áááá ááľá¨á á¨á°áá¨á° ááᢠá dockerhub áá áĽá á°ááłáłá ááľáá˝ ááá áĽááłá á áľá á
áłáááá
? áááłá nginx á áľááŁáŁ á¨á°ááŤáŠ á°áá˝ 100500 ááľáá˝á áłáŤáá
ᢠáĽááá
á°áá˝ nginxá á áŤáą á ááłá áŠá ᣠá ááá áŚáá´áá nginxá áá° áśá¨á ááľáá¸á á ááá áŽáá´áááŽá˝á áááľááá áĽáá˛áá˝ á¨áŤáłá¸á áá
áŽá˝ áá áááąáľá˘
á á á ááá ᣠá ááá á tgz ááľáĽ áá¨áá¸áľ áá˝áá ᣠá ááľ á°á á áśáá°á ááľáĽ ááľáŹáľ áŤáá ᾠᣠá¨á፠tgz áá° Dockerfile áĽáá˛á¨áá ᣠá¨á°áááá á áŤáŁá˘ áĽáá˛áááą áĽá á áááŹá˝áá áĽáŤáą á tgz ááľáĽ á¨ááááᥠá°á¨á᪠áłáŚáá˝á ááá áŠá˘ áśá¨á ááľá á¨áááĽá ááááá á°á tgz áá áĽáá°áá áĽá áá ááľáŤáľ áĽááłáá áľ áŤááá. áśá¨áá á¨áá ááá á áá
ááááľ ááá˘
áá áááᥠá¨áśáá°á áááἠá áŤáľáááááᣠá ááľ ááááľ S3 áĽá áááá ááá áĽáá° ááá áľáŤáá/dropbox áŤá á¨ááá áá¨ááť
áśá¨á á CI
á¨á°áŤáá¸á áŠáŁááŤáá˝ á áá á°ááłáłá áá¸áᢠáĽááá áá ááŽá°áŞ áá¸á. áááľá á ááľ á áááŹá˝áᣠá ááľ á¨á´áááá ááá (ááááŁáľá á ááľ áŁáá ááľáľ ááá áśáľáľ á¨ááŽááŤááá ááááá˝) á áá¸áá˘
áĽááá áŠáŁááŤáá˝ á¨CI áá°áľ á ááŤááľáŁá¸á á°áá¨áŽáťá¸á áá áśá¨áá áá áááᢠáĽáŤááĄ- á á°áá¨áŽá˝á áá á áśá¨á áŽáá´ááá ááľáĽ ááŽáááśá˝á ááááŁáľ ááá á áľáááááľ? ááááľáá ááááŁáłá á áŤáŁá˘á áĽáť á áŤáááá áááłá á áľááá á¨áááľá ᨠnodejs, php, jdk, ssh keys, ááá° á ááá˝ áááŁáłá áá°ááŤááľá áľ á áááá á¨ááá ááťá á¨áá˝á á¨ááŤááť áá˝áá ááá?
á áá áá áĽáŤá´á á áĽáá áá°áŽáąá á°á¨áľáťáá ᣠááááŤáąá áśá¨á á¨ááá á áá ááá áľáá á áŤááŁáᢠá áśáá°á ááľáĽ á¨CI áá áŤáá áá á˝ááŽá˝áĄ-
- áĽáá°áá áááááŁáľ docker ááľá áŤáľáááááłáᢠááľá áááá ááá á¨áĽáŤáľáá áśá¨áááá ááťá áŤáľáááááłá.
- á ááłááľ ssh áááá˝á áááľá°ááá á¨ááŤáľáááá 90% ááľáĽáŤá ááἠáá° áśá¨á ááľá ááťá á¨ááááááľá˘
- ááŤáŁá á°áá ᨠáĽá áááłá, ááá áá¸ááŤáá˝ á¨áĽáą áá á áá°áá. á¨áááĽáá áááŁáł áááá á¨ááŽáááľ áĽáááá˝ áĽáá°áá áŤáááłá, áá á áá á¨áááľáľ áĽá áá¤áłá áŤááá, áĽá áá áááἠáá.
ááá˘áá˝ á áśá¨á áŽáá´áááŽá˝ ááľáĽ ááŽáááśá˝á á ááááĄá (á ááľ áá áĽáá°áá á áááľ á áľáá áá áአᣠá áĽááṠᣠáŁááá xD ááŤá´ á áááá)ᢠá á፠ááľáĽ áĽá áľáŞáśá˝ áááŠááľ áĽá á á ááľ áľááá á áá áá°áááááľ áááἠáá˝ááᢠá nodejs ááľáĽ á°ááłáłá áá, nvm á á.
áá°áá°ááŤ
áśá¨á á áŁá áááá áĽá á°áááá ááłáŞáŤ áá áĽáŹ á áááá, áá ááłáą áá (á¨áááá áááľáá, á á). á áĽáą áĽááłáł áŠáŁááŤáá˝ á ááá áá ááą áĽá á ááŤáľááá áĽá á áááááá áľ áŚáł áá ááá áľ áá˝áá. ááá˘áá˝ áŽáá´áááśáťá¸ááᣠá ááłááľ á áŤáŁá˘ááťá¸áá áŤáľáááŤáᣠá¨ááŤá ááá áŤáááá á˝áá áá° CI áĽá áááľ áááľáłáᢠá¨á´ááŚááľ áĄáľá áĽááá á ááŤáŁáá˝ áááľáŹáľ á ááłááľ á áááľ áŽáľ áĽá¨áťá ááá˘
áśá¨áá á áá áĽáť áá áá á áŁá á¨á áἠáá á áľáŤ áá°áľá ááľáĽ á°á¨á ᣠááááŞáŤ áá áá° ááŽáááą á áááľáąáľá˘ á¨áĽááľáá á¨áááľ á˝ááŽá˝ á áááłáᢠá˝ááŽášá áá° áá á°á¨á áĽáť áŤáááłá áłá áĽá á¨áŤáąá áááľááá˝ áŤáááŁá, áĽááľá áááľ áľáŤáá˝á áá°áŤá.
áśá¨á á˛áŤáľááá: áá° áá°áá°á፠á°ááťáá áśá¨á á¨á°á°á áá áá°áľ ááááťá¸áľ á áŁá áĽáŠ áá ááá áá áá°á¨áłá á°ááŁáŤáľá á ááááŁáľ áá á áá°áá
á ááá áśá¨á ááá áá á¨áá°ááĄ-
- á áŁá á°á ááá
- ááá˘áá˝ áśá¨áá áĽáá˛á áá á áŤáľááľáą
- á á áááá á á ááľ áŚáł áá áŤáááąáľáŁ á ááá á¨áśáááá áĽá áśá¨á á ááá áá¨ááťáá˝ áá á áŤá°áŤáŠáľá˘
PS:
- á á
áᥠá ááááľ
á áťá áĽá á¨á áá˛áŞá áá á áŁá áĽáŠ áá°áŤá áĽá ááľáá˝á á¨ááááŁáľ áá°áľ (á¨áśá ááľáá á¨ááŽ) á ááľ áááľá¨á ááá áľáááłá ááá. áĽáá˛áá áľá áśá¨á ᣠá áľá°áłá˝ ááŁáĽá
áľááá ᥠáĽááá°ááááᣠá ááłáŽá˝á ááľáĽ ááá ááłááá˝á áĽá áá¤áłá á¨áľáŤ áááľá áĽáááá!
ááá: hab.com