{"id":50,"date":"2024-10-17T12:19:51","date_gmt":"2024-10-17T10:19:51","guid":{"rendered":"https:\/\/josefnemec.cz\/blog\/?p=50"},"modified":"2024-12-17T18:41:53","modified_gmt":"2024-12-17T17:41:53","slug":"co-je-to-docker","status":"publish","type":"post","link":"https:\/\/josefnemec.cz\/blog\/php\/co-je-to-docker\/","title":{"rendered":"Co je to Docker?"},"content":{"rendered":"\n<p>Docker je modern\u00ed platforma pro virtualizaci a kontejnerizaci aplikac\u00ed. Umo\u017e\u0148uje vytv\u00e1\u0159et, distribuovat a provozovat aplikace v izolovan\u00fdch prost\u0159ed\u00edch naz\u00fdvan\u00fdch kontejnery. Tento p\u0159\u00edstup zaji\u0161\u0165uje konzistenci mezi v\u00fdvojov\u00fdm, testovac\u00edm a produk\u010dn\u00edm prost\u0159ed\u00edm.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Co bylo?<\/h3>\n\n\n\n<p>Docker byl p\u0159edstaven v roce 2013 spole\u010dnost\u00ed dotCloud (pozd\u011bji p\u0159ejmenovan\u00e1 na Docker Inc.). P\u016fvodn\u00ed my\u0161lenka byla inspirov\u00e1na Linuxov\u00fdmi kontejnery (LXC), ale Docker tuto technologii zjednodu\u0161il a zpopularizoval.<\/p>\n\n\n\n<p>Hlavn\u00ed miln\u00edky:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>2013<\/strong>: Vyd\u00e1n\u00ed prvn\u00ed verze Dockeru.<\/li>\n\n\n\n<li><strong>2015<\/strong>: Zaveden\u00ed Docker Engine a Docker Hub.<\/li>\n\n\n\n<li><strong>2017<\/strong>: Podpora Kubernetes.<\/li>\n\n\n\n<li><strong>2020<\/strong>: Zaveden\u00ed WSL 2 pro Docker na Windows.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Co je Docker?<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Kontejnerizace<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Docker izoluje aplikace a jejich z\u00e1vislosti v kontejnerech.<\/li>\n\n\n\n<li>Kontejnery sd\u00edlej\u00ed j\u00e1dro opera\u010dn\u00edho syst\u00e9mu, co\u017e je odli\u0161uje od klasick\u00fdch virtu\u00e1ln\u00edch stroj\u016f (VM).<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>P\u0159enositelnost<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Jednou vytvo\u0159en\u00fd kontejner lze spustit na libovoln\u00e9m syst\u00e9mu, kter\u00fd podporuje Docker (Linux, Windows, macOS).<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Rychlost a efektivita<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kontejnery jsou leh\u010d\u00ed a spou\u0161t\u011bj\u00ed se rychleji ne\u017e tradi\u010dn\u00ed VM.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Docker Hub<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ve\u0159ejn\u00e1 reposit\u00e1\u0159 pro sd\u00edlen\u00ed a distribuci Docker image.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Jak Docker funguje?<\/h3>\n\n\n\n<p>Docker pracuje s n\u00e1sleduj\u00edc\u00edmi komponentami:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Docker Engine<\/strong>: J\u00e1dro platformy, kter\u00e9 spravuje kontejnery.<\/li>\n\n\n\n<li><strong>Image<\/strong>: P\u0159edp\u0159ipraven\u00fd bal\u00ed\u010dek obsahuj\u00edc\u00ed aplikaci a jej\u00ed z\u00e1vislosti.<\/li>\n\n\n\n<li><strong>Container<\/strong>: B\u011b\u017e\u00edc\u00ed instance Docker image.<\/li>\n\n\n\n<li><strong>Dockerfile<\/strong>: Skript definuj\u00edc\u00ed kroky pro vytvo\u0159en\u00ed Docker image.<\/li>\n\n\n\n<li><strong>Docker Compose<\/strong>: N\u00e1stroj pro orchestraci v\u00edce kontejner\u016f.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Pou\u017eit\u00ed Dockeru<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Vyvojov\u00e1 prost\u0159ed\u00ed<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Snadn\u00e1 replikace prost\u0159ed\u00ed pro v\u00fdvoj\u00e1\u0159e.<\/li>\n\n\n\n<li>Zamezen\u00ed probl\u00e9m\u016f typu &#8222;funguje to na m\u00e9m po\u010d\u00edta\u010di&#8220;.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Testov\u00e1n\u00ed a CI\/CD<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automatizace nasazen\u00ed a test\u016f v konzistentn\u00edm prost\u0159ed\u00ed.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Provoz aplikac\u00ed<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nasazen\u00ed mikroslu\u017eeb a jejich \u0161k\u00e1lov\u00e1n\u00ed.<\/li>\n\n\n\n<li>Provoz star\u0161\u00edch aplikac\u00ed v izolovan\u00fdch prost\u0159ed\u00edch.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>P\u0159enositelnost<\/strong>:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nasazen\u00ed aplikac\u00ed na cloudov\u00e9 platformy jako AWS, Azure nebo Google Cloud.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Siln\u00e9 a slab\u00e9 str\u00e1nky Dockeru<\/h3>\n\n\n\n<p><strong>Siln\u00e9 str\u00e1nky:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Snadn\u00e9 nasazen\u00ed aplikac\u00ed.<\/li>\n\n\n\n<li>Vysok\u00e1 p\u0159enositelnost.<\/li>\n\n\n\n<li>Efektivn\u00ed vyu\u017eit\u00ed zdroj\u016f.<\/li>\n<\/ul>\n\n\n\n<p><strong>Slab\u00e9 str\u00e1nky:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Strm\u011bj\u0161\u00ed u\u010dec\u00ed k\u0159ivka pro za\u010d\u00e1te\u010dn\u00edky.<\/li>\n\n\n\n<li>Slo\u017eit\u011bj\u0161\u00ed debugov\u00e1n\u00ed v kontejnerizovan\u00fdch prost\u0159ed\u00edch.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Pro\u010d ho pou\u017e\u00edvat? <\/h3>\n\n\n\n<p>Docker je ide\u00e1ln\u00ed n\u00e1stroj pro modern\u00ed v\u00fdvoj\u00e1\u0159e a DevOps specialisty, kte\u0159\u00ed hledaj\u00ed flexibilitu, \u0161k\u00e1lovatelnost a konzistenci. Usnad\u0148uje v\u00fdvoj, testov\u00e1n\u00ed i provoz aplikac\u00ed v r\u016fznorod\u00fdch prost\u0159ed\u00edch.<\/p>\n\n\n\n<p>Pokud chcete za\u010d\u00edt s Dockerem, doporu\u010dujeme prozkoumat ofici\u00e1ln\u00ed dokumentaci na <a href=\"https:\/\/www.docker.com\">docker.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker je modern\u00ed platforma pro virtualizaci a kontejnerizaci aplikac\u00ed. Umo\u017e\u0148uje vytv\u00e1\u0159et, distribuovat a provozovat aplikace v izolovan\u00fdch prost\u0159ed\u00edch naz\u00fdvan\u00fdch kontejnery. Tento p\u0159\u00edstup zaji\u0161\u0165uje konzistenci mezi v\u00fdvojov\u00fdm, testovac\u00edm a produk\u010dn\u00edm prost\u0159ed\u00edm.<\/p>\n","protected":false},"author":1,"featured_media":51,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[57,56,4,6],"tags":[52,22,21,54,53,47,49,55,50],"class_list":["post-50","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-docker","category-php","category-webdesign","tag-apache","tag-devops","tag-docker","tag-kontejner","tag-nginx","tag-php","tag-programovani","tag-virtualizace","tag-vyvoj"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/josefnemec.cz\/blog\/wp-content\/uploads\/2024\/12\/DALL%C2%B7E-2024-12-17-12.19.33-A-humorous-and-creative-illustration-representing-Docker_-a-whale-Dockers-logo-carrying-containers-on-its-back-but-the-containers-are-exaggeratedl.webp?fit=1024%2C1024&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/posts\/50","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/comments?post=50"}],"version-history":[{"count":2,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/posts\/50\/revisions"}],"predecessor-version":[{"id":75,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/posts\/50\/revisions\/75"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/media\/51"}],"wp:attachment":[{"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/media?parent=50"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/categories?post=50"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/tags?post=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}