{"id":16764,"date":"2020-11-06T13:37:18","date_gmt":"2020-11-06T12:37:18","guid":{"rendered":"https:\/\/www.websupport.sk\/podpora\/?post_type=ht_kb&#038;p=16764"},"modified":"2021-01-11T14:48:03","modified_gmt":"2021-01-11T13:48:03","slug":"docker-network","status":"publish","type":"ht_kb","link":"https:\/\/www.websupport.sk\/podpora\/kb\/docker-network\/","title":{"rendered":"Docker &#8211; 4. Network (sie\u0165)"},"content":{"rendered":"\n<p><strong>Network<\/strong> (sie\u0165) umo\u017enuje prepoji\u0165 porty z vn\u00fatra kontajnera do hostite\u013esk\u00e9ho syst\u00e9mu a vytv\u00e1ra\u0165 siete medzi kontajnermi.<\/p>\n\n\n\n<p class=\"wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-success\">Tip: <strong>Docker be\u017e\u00ed v\u00fdborne vo <a href=\"https:\/\/www.websupport.sk\/virtual-server\">WebSupport VPS<\/a><\/strong>. Vysk\u00fa\u0161ajte pr\u00e9miov\u00fd virtu\u00e1lny server e\u0161te dnes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Otvorenie portu pre hostite\u013esk\u00fd syst\u00e9m<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.websupport.sk\/podpora\/kb\/docker-volume\/\">V predo\u0161lej \u010dasti sme si uk\u00e1zali zdie\u013eanie d\u00e1t (volume)<\/a>. Otvori\u0165 sa tie\u017e m\u00f4\u017ee port, na ktorom prebieha sie\u0165ov\u00e1 komunik\u00e1cia. Napr\u00edklad webov\u00fd server Nginx prij\u00edma dopyty na porte \u010d\u00edslo <code>80<\/code>, ale zatia\u013e iba v kontajneri. Presunieme sa do prie\u010dinka <code>~\/docker-test<\/code> (prv\u00fd riadok) a tam s nezmenen\u00fdm konfigura\u010dn\u00fdm s\u00faborom <code>Dockerfile<\/code> zostav\u00edme (druh\u00fd riadok) a spust\u00edme (tret\u00ed riadok) kontajner s n\u00e1zvom <code>nginx-test<\/code>, podobne ako v predo\u0161lej \u010dasti. <\/p>\n\n\n\n<p>Tentokr\u00e1t ale e\u0161te v tre\u0165om riadku prid\u00e1me nastavenie <code>-p 80:80<\/code>, ktor\u00e9 komunik\u00e1ciu na porte <code>80<\/code> v kontajneri (\u010d\u00edslo <em>pred<\/em> dvojbodkou) zverejn\u00ed aj na porte <code>8080<\/code> na hostite\u013eskom syst\u00e9me (\u010d\u00edslo <em>za<\/em> dvojbodkou):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd ~\/docker-test<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">docker build -t nginx-test .<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">docker run -d -v ~\/docker-test\/html:\/usr\/share\/nginx\/html -p 80:8080 nginx-test<\/pre>\n\n\n\n<p>Odteraz sa u\u017e nemus\u00edme prihlasova\u0165 do kontajnera, aby sme cez webov\u00fd server Nginx na\u010d\u00edtali obsah s\u00faboru <code>index.html<\/code> z prie\u010dinka <code>~\/docker-test\/html<\/code>. Sta\u010d\u00ed, ke\u010f na hostite\u013eskom syst\u00e9me spust\u00edme pr\u00edkaz:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl localhost:8080<\/pre>\n\n\n\n<p>Obsah s\u00faboru <code>index.html<\/code> je teraz pr\u00edstupn\u00fd z kontajnera a tie\u017e z hostite\u013esk\u00e9ho po\u010d\u00edta\u010da. <\/p>\n\n\n\n<p>Ak ale potrebujeme zabezpe\u010di\u0165, aby kontajner dok\u00e1zal komunikova\u0165 aj s in\u00fdmi kontajnermi (nie len s hostite\u013esk\u00fdm syst\u00e9mom), siahneme po konfigur\u00e1cii siete (network).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sie\u0165 medzi kontajnermi<\/h2>\n\n\n\n<p>V\u010faka sieti (network) dok\u00e1\u017eeme vytvori\u0165 izolovan\u00fd kan\u00e1l, na ktorom s\u00fa schopn\u00e9 kontajnery medzi sebou komunikova\u0165. Be\u017ene sa tak\u00fdto kan\u00e1l vyu\u017e\u00edva napr\u00edklad vtedy, ke\u010f v jednom kontajneri m\u00e1me spusten\u00fd webov\u00fd server a v druhom zase datab\u00e1zov\u00fd server. Ak webov\u00fd server z prv\u00e9ho kontajnera potrebuje z\u00edska\u0165 \u00fadaje z datab\u00e1zy z druh\u00e9ho kontajnera, mus\u00edme oba kontajnery zaradi\u0165 pod rovnak\u00fa sie\u0165. My si to ale zjednodu\u0161\u00edme a budeme pracova\u0165 iba s kontajnermi webov\u00e9ho servera Nginx. Vytvorme si teda sie\u0165 pod n\u00e1zvom <code>siet-test<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker network create siet-test<\/pre>\n\n\n\n<p>Over\u00edme si, \u010di sa sie\u0165 vytvorila:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker network ls<\/pre>\n\n\n\n<p>Zostav\u00edme a spust\u00edme 2 kontajneri pod n\u00e1zvami <code>nginx-test-1<\/code> (prv\u00e9 2 riadky) a <code>nginx-test-2<\/code> (posledn\u00e9 2 riadky) a oba pomocou nastavenia <code>--net=siet-test<\/code> prid\u00e1me do siete s n\u00e1zvom <code>siet-test<\/code>. Za predpokladu, \u017ee sme v prie\u010dinku <code>~\/docker-test<\/code> a nezmenili sme obsah konfigura\u010dn\u00e9ho s\u00faboru <code>Dockerfile<\/code>, spust\u00edme tieto 4 pr\u00edkazy:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker build -t nginx-test-1 .<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">docker run -d --net=siet-test nginx-test-1<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">docker build -t nginx-test-2 .<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">docker run -d --net=siet-test nginx-test-2<\/pre>\n\n\n\n<p>Zist\u00edme IP adresy kontajnerov priraden\u00fdch do siete s n\u00e1zvom <code>siet-test<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker network inspect siet-test<\/pre>\n\n\n\n<p>V \u010dasti Containers h\u013ead\u00e1me pri ka\u017edom z dvoch kontajnerov <code>IPv4Address<\/code> (tu <code>172.18.0.2<\/code> a <code>172.18.0.3<\/code>, u v\u00e1s sa m\u00f4\u017eu l\u00ed\u0161i\u0165). Prv\u00e1 IP adresa patr\u00ed kontajneru <code>nginx-test-<\/code>1 a druh\u00e1 <code>nginx-test-2<\/code>.<\/p>\n\n\n\n<p>Zist\u00edme ID kontajnerov (prv\u00fd riadok; va\u0161e sa bud\u00fa l\u00ed\u0161i\u0165) a prihl\u00e1sime sa do kontajnera <code>nginx-test-1<\/code> s IP adresou <code>172.18.0.2<\/code> (druh\u00fd riadok):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker ps<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">docker exec -it d5cef9ab1115 bash<\/pre>\n\n\n\n<p>Teraz u\u017e len zost\u00e1va overi\u0165, \u010di sa n\u00e1m na\u010d\u00edta s\u00fabor <code>index.html<\/code> cez webov\u00fd server Nginx v kontajneri <code>nginx-test-1<\/code> s IP adresou <code>172.18.0.2<\/code> z kontajnera <code>nginx-test-2<\/code> s IP adresou <code>172.18.0.3<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl 172.18.0.3<\/pre>\n\n\n\n<p>Ak sa zobrazil obsah s\u00faboru <code>index.html<\/code>, znamen\u00e1 to, \u017ee oba kontajnery spolu dok\u00e1\u017eu komunikova\u0165 cez sie\u0165. Kontajner <code>nginx-test-1<\/code> aj <code>nginx-test-2<\/code> sme teda \u00faspe\u0161ne pridali do spolo\u010dnej izolovanej siete <code>siet-test<\/code>, v ktorej sa vidia a dok\u00e1\u017eu si vymie\u0148a\u0165 inform\u00e1cie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zhrnutie<\/h2>\n\n\n\n<p>Uk\u00e1zali sme si ako kontajner otvori\u0165 pomocou portu a aby kontajnery dok\u00e1zali komunikova\u0165 medzi sebou po vyhradenej vn\u00fatornej sieti.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Network (sie\u0165) umo\u017enuje prepoji\u0165 porty z vn\u00fatra kontajnera do hostite\u013esk\u00e9ho syst\u00e9mu a vytv\u00e1ra\u0165 siete medzi kontajnermi. Otvorenie portu pre hostite\u013esk\u00fd syst\u00e9m V predo\u0161lej \u010dasti sme si uk\u00e1zali zdie\u013eanie d\u00e1t (volume). Otvori\u0165 sa tie\u017e m\u00f4\u017ee port, na ktorom prebieha sie\u0165ov\u00e1 komunik\u00e1cia. Napr\u00edklad webov\u00fd server Nginx prij\u00edma dopyty na porte \u010d\u00edslo 80,&#8230;<\/p>\n","protected":false},"author":28,"template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[390],"ht-kb-tag":[336,393,396,339,381,189],"class_list":["post-16764","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-docker","ht_kb_tag-cli","ht_kb_tag-docker","ht_kb_tag-kontajnery","ht_kb_tag-open-source","ht_kb_tag-server","ht_kb_tag-vps"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Docker - 4. Network (sie\u0165) - Websupport centrum podpory<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.websupport.sk\/podpora\/kb\/docker-network\/\" \/>\n<meta property=\"og:locale\" content=\"sk_SK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker - 4. Network (sie\u0165) - Websupport centrum podpory\" \/>\n<meta property=\"og:description\" content=\"Network (sie\u0165) umo\u017enuje prepoji\u0165 porty z vn\u00fatra kontajnera do hostite\u013esk\u00e9ho syst\u00e9mu a vytv\u00e1ra\u0165 siete medzi kontajnermi. Otvorenie portu pre hostite\u013esk\u00fd syst\u00e9m V predo\u0161lej \u010dasti sme si uk\u00e1zali zdie\u013eanie d\u00e1t (volume). Otvori\u0165 sa tie\u017e m\u00f4\u017ee port, na ktorom prebieha sie\u0165ov\u00e1 komunik\u00e1cia. Napr\u00edklad webov\u00fd server Nginx prij\u00edma dopyty na porte \u010d\u00edslo 80,...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.websupport.sk\/podpora\/kb\/docker-network\/\" \/>\n<meta property=\"og:site_name\" content=\"Websupport centrum podpory\" \/>\n<meta property=\"article:modified_time\" content=\"2021-01-11T13:48:03+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Predpokladan\u00fd \u010das \u010d\u00edtania\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 min\u00faty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/docker-network\\\/\",\"url\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/docker-network\\\/\",\"name\":\"Docker - 4. Network (sie\u0165) - Websupport centrum podpory\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/#website\"},\"datePublished\":\"2020-11-06T12:37:18+00:00\",\"dateModified\":\"2021-01-11T13:48:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/docker-network\\\/#breadcrumb\"},\"inLanguage\":\"sk-SK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/docker-network\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/docker-network\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker &#8211; 4. Network (sie\u0165)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/#website\",\"url\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/\",\"name\":\"Websupport centrum podpory\",\"description\":\"Radi v\u00e1m pom\u00f4\u017eeme s va\u0161im probl\u00e9mom\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sk-SK\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker - 4. Network (sie\u0165) - Websupport centrum podpory","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.websupport.sk\/podpora\/kb\/docker-network\/","og_locale":"sk_SK","og_type":"article","og_title":"Docker - 4. Network (sie\u0165) - Websupport centrum podpory","og_description":"Network (sie\u0165) umo\u017enuje prepoji\u0165 porty z vn\u00fatra kontajnera do hostite\u013esk\u00e9ho syst\u00e9mu a vytv\u00e1ra\u0165 siete medzi kontajnermi. Otvorenie portu pre hostite\u013esk\u00fd syst\u00e9m V predo\u0161lej \u010dasti sme si uk\u00e1zali zdie\u013eanie d\u00e1t (volume). Otvori\u0165 sa tie\u017e m\u00f4\u017ee port, na ktorom prebieha sie\u0165ov\u00e1 komunik\u00e1cia. Napr\u00edklad webov\u00fd server Nginx prij\u00edma dopyty na porte \u010d\u00edslo 80,...","og_url":"https:\/\/www.websupport.sk\/podpora\/kb\/docker-network\/","og_site_name":"Websupport centrum podpory","article_modified_time":"2021-01-11T13:48:03+00:00","twitter_card":"summary_large_image","twitter_misc":{"Predpokladan\u00fd \u010das \u010d\u00edtania":"3 min\u00faty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.websupport.sk\/podpora\/kb\/docker-network\/","url":"https:\/\/www.websupport.sk\/podpora\/kb\/docker-network\/","name":"Docker - 4. Network (sie\u0165) - Websupport centrum podpory","isPartOf":{"@id":"https:\/\/www.websupport.sk\/podpora\/#website"},"datePublished":"2020-11-06T12:37:18+00:00","dateModified":"2021-01-11T13:48:03+00:00","breadcrumb":{"@id":"https:\/\/www.websupport.sk\/podpora\/kb\/docker-network\/#breadcrumb"},"inLanguage":"sk-SK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.websupport.sk\/podpora\/kb\/docker-network\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.websupport.sk\/podpora\/kb\/docker-network\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.websupport.sk\/podpora\/"},{"@type":"ListItem","position":2,"name":"Docker &#8211; 4. Network (sie\u0165)"}]},{"@type":"WebSite","@id":"https:\/\/www.websupport.sk\/podpora\/#website","url":"https:\/\/www.websupport.sk\/podpora\/","name":"Websupport centrum podpory","description":"Radi v\u00e1m pom\u00f4\u017eeme s va\u0161im probl\u00e9mom","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.websupport.sk\/podpora\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sk-SK"}]}},"_links":{"self":[{"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb\/16764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/users\/28"}],"version-history":[{"count":3,"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb\/16764\/revisions"}],"predecessor-version":[{"id":17373,"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb\/16764\/revisions\/17373"}],"wp:attachment":[{"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/media?parent=16764"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb-category?post=16764"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb-tag?post=16764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}