{"id":785,"date":"2021-04-13T11:24:13","date_gmt":"2021-04-13T11:24:13","guid":{"rendered":"https:\/\/dev.sourcecode.sk\/wsczkb\/?post_type=ht_kb&#038;p=785"},"modified":"2021-07-19T10:54:07","modified_gmt":"2021-07-19T08:54:07","slug":"docker-4-network-sit","status":"publish","type":"ht_kb","link":"https:\/\/www.websupport.cz\/podpora\/kb\/docker-4-network-sit\/","title":{"rendered":"Docker &#8211; 4. Network (s\u00ed\u0165)"},"content":{"rendered":"\n<p><strong>Network<\/strong> (s\u00ed\u0165) umo\u017e\u0148uje propojit porty z vnit\u0159ku kontejneru do hostitelsk\u00e9ho syst\u00e9mu a vytv\u00e1\u0159et s\u00edt\u011b mezi kontejnery.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Otev\u0159en\u00ed portu pro hostitelsk\u00fd syst\u00e9m<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.websupport.cz\/podpora\/kb\/docker-3-volume\/\" target=\"_blank\" rel=\"noreferrer noopener\">V p\u0159ede\u0161l\u00e9 \u010d\u00e1sti jsme si uk\u00e1zali sd\u00edlen\u00ed dat (volume)<\/a>. Otev\u0159\u00edt se t\u00e9\u017e m\u016f\u017ee port, na kter\u00e9m prob\u00edh\u00e1 s\u00ed\u0165ov\u00e1 komunikace. Nap\u0159\u00edklad webov\u00fd server Nginx p\u0159ij\u00edm\u00e1 dotazy na portu \u010d\u00edslo <code>80<\/code>, ale zat\u00edm pouze v kontejneru. P\u0159esuneme se do slo\u017eky <code>~\/docker-test<\/code> (prvn\u00ed \u0159\u00e1dek) a tam s nezm\u011bn\u011bn\u00fdm konfigura\u010dn\u00edm souborem <code>Dockerfile<\/code> sestav\u00edme (druh\u00fd \u0159\u00e1dek) a spust\u00edme (t\u0159et\u00ed \u0159\u00e1dek) kontejner s n\u00e1zvem <code>nginx-test<\/code>, podobn\u011b jako v p\u0159ede\u0161l\u00e9 \u010dasti. <\/p>\n\n\n\n<p>Tentokr\u00e1t ale je\u0161t\u011b ve t\u0159et\u00edm \u0159\u00e1dku p\u0159id\u00e1me nastaven\u00ed <code>-p 80:80<\/code>, kter\u00e9 komunikaci na portu <code>80<\/code> v kontejneru (\u010d\u00edslo <em>p\u0159ed<\/em> dvojte\u010dkou) zve\u0159ejn\u00ed i na portu <code>8080<\/code> na hostitelsk\u00e9m syst\u00e9mu (\u010d\u00edslo <em>za<\/em> dvojte\u010dkou):<\/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>Odte\u010f se u\u017e nemus\u00edme p\u0159ihla\u0161ovat do kontejneru, abychom p\u0159es webov\u00fd server Nginx na\u010d\u00edtali obsah souboru <code>index.html<\/code> ze slo\u017eky <code>~\/docker-test\/html<\/code>. Sta\u010d\u00ed, kdy\u017e na hostitelsk\u00e9m syst\u00e9mu spust\u00edme p\u0159\u00edkaz:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl localhost:8080<\/pre>\n\n\n\n<p>Obsah souboru <code>index.html<\/code> je te\u010f p\u0159\u00edstupn\u00fd z kontejneru a t\u00e9\u017e z hostitelsk\u00e9ho po\u010d\u00edta\u010de. <\/p>\n\n\n\n<p>Pokud ale pot\u0159ebujeme zabezpe\u010dit, aby kontejner dok\u00e1zal komunikovat i s jin\u00fdmi kontejnery (nejen s hostitelsk\u00fdm syst\u00e9mem), s\u00e1hneme po konfiguraci s\u00edt\u011b (network).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">S\u00ed\u0165 mezi kontejnery<\/h2>\n\n\n\n<p>D\u00edky s\u00edti (network) dok\u00e1\u017eeme vytvo\u0159it izolovan\u00fd kan\u00e1l, na kter\u00e9m jsou schopn\u00e9 kontejnery mezi sebou komunikovat. B\u011b\u017en\u011b se takov\u00fd kan\u00e1l vyu\u017e\u00edv\u00e1 nap\u0159\u00edklad tehdy, kdy\u017e v jednom kontejneru m\u00e1me spu\u0161t\u011bn\u00fd webov\u00fd server a v druh\u00e9m zase datab\u00e1zov\u00fd server. Kdy\u017e webov\u00fd server z prvn\u00edho kontejneru pot\u0159ebuje z\u00edskat \u00fadaje z datab\u00e1ze z druh\u00e9ho kontejneru, mus\u00edme oba kontejnery za\u0159adit pod stejnou s\u00ed\u0165. My si to ale zjednodu\u0161\u00edme a budeme pracovat pouze s kontejnery webov\u00e9ho serveru Nginx. Vytvo\u0159me si tedy s\u00ed\u0165 pod n\u00e1zvem <code>sit-test<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker network create sit-test<\/pre>\n\n\n\n<p>Ov\u011b\u0159\u00edme si, jestli se s\u00ed\u0165 vytvo\u0159ila:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker network ls<\/pre>\n\n\n\n<p>Sestav\u00edme a spust\u00edme 2 kontejnery pod n\u00e1zvy <code>nginx-test-1<\/code> (prvn\u00ed 2 \u0159\u00e1dky) a <code>nginx-test-2<\/code> (posledn\u00ed 2 \u0159\u00e1dky) a oba pomoc\u00ed nastaven\u00ed <code>--net=sit-test<\/code> p\u0159id\u00e1me do s\u00edt\u011b s n\u00e1zvem <code>sit-test<\/code>. Za p\u0159edpokladu, \u017ee jsme ve slo\u017ece <code>~\/docker-test<\/code> a nezm\u011bnili jsme obsah konfigura\u010dn\u00edho souboru <code>Dockerfile<\/code>, spust\u00edme tyto 4 p\u0159\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=sit-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=sit-test nginx-test-2<\/pre>\n\n\n\n<p>Zjist\u00edme IP adresy kontejner\u016f p\u0159i\u0159azen\u00fdch do s\u00edt\u011b s n\u00e1zvem <code>sit-test<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker network inspect sit-test<\/pre>\n\n\n\n<p>V \u010dasti Containers hled\u00e1me u ka\u017ed\u00e9ho ze dvou kontejner\u016f <code>IPv4Address<\/code> (tu <code>172.18.0.2<\/code> a <code>172.18.0.3<\/code>, u v\u00e1s se mohou li\u0161it). Prvn\u00ed IP adresa pat\u0159\u00ed kontejneru <code>nginx-test-<\/code>1 a druh\u00e1 <code>nginx-test-2<\/code>.<\/p>\n\n\n\n<p>Zjist\u00edme ID kontejner\u016f (prvn\u00ed \u0159\u00e1dek; va\u0161e se budou li\u0161it) a p\u0159ihl\u00e1s\u00edme se do kontejneru <code>nginx-test-1<\/code> s IP adresou <code>172.18.0.2<\/code> (druh\u00fd \u0159\u00e1dek):<\/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>Te\u010f u\u017e jen z\u016fst\u00e1v\u00e1 ov\u011b\u0159it, jestli se n\u00e1m na\u010d\u00edt\u00e1 soubor <code>index.html<\/code> p\u0159es webov\u00fd server Nginx v kontejneru <code>nginx-test-1<\/code> s IP adresou <code>172.18.0.2<\/code> z kontejneru <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>Pokud se zobrazil obsah souboru <code>index.html<\/code>, znamen\u00e1 to, \u017ee oba kontejnery spolu dok\u00e1\u017eu komunikovat p\u0159es s\u00ed\u0165. Kontejner <code>nginx-test-1<\/code> i <code>nginx-test-2<\/code> jsme tedy \u00fasp\u011b\u0161n\u011b p\u0159idali do spole\u010dn\u00e9 izolovan\u00e9 s\u00edt\u011b <code>sit-test<\/code>, ve kter\u00e9 se vid\u00ed a dok\u00e1\u017eou si vym\u011bnit informace.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Shrnut\u00ed<\/h2>\n\n\n\n<p>Uk\u00e1zali jsme si, jak kontejner otev\u0159\u00edt pomoc\u00ed portu a aby kontejnery dok\u00e1zaly komunikovat mezi sebou po vyhrazen\u00e9 vnit\u0159n\u00ed s\u00edti.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Network (s\u00ed\u0165) umo\u017e\u0148uje propojit porty z vnit\u0159ku kontejneru do hostitelsk\u00e9ho syst\u00e9mu a vytv\u00e1\u0159et s\u00edt\u011b mezi kontejnery. Otev\u0159en\u00ed portu pro hostitelsk\u00fd syst\u00e9m V p\u0159ede\u0161l\u00e9 \u010d\u00e1sti jsme si uk\u00e1zali sd\u00edlen\u00ed dat (volume). Otev\u0159\u00edt se t\u00e9\u017e m\u016f\u017ee port, na kter\u00e9m prob\u00edh\u00e1 s\u00ed\u0165ov\u00e1 komunikace. Nap\u0159\u00edklad webov\u00fd server Nginx p\u0159ij\u00edm\u00e1 dotazy na portu \u010d\u00edslo 80,&#8230;<\/p>\n","protected":false},"author":3,"template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[126],"ht-kb-tag":[],"class_list":["post-785","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-docker"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Docker - 4. Network (s\u00ed\u0165) - Websupport Centrum n\u00e1pov\u011bdy<\/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.cz\/podpora\/kb\/docker-4-network-sit\/\" \/>\n<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker - 4. Network (s\u00ed\u0165) - Websupport Centrum n\u00e1pov\u011bdy\" \/>\n<meta property=\"og:description\" content=\"Network (s\u00ed\u0165) umo\u017e\u0148uje propojit porty z vnit\u0159ku kontejneru do hostitelsk\u00e9ho syst\u00e9mu a vytv\u00e1\u0159et s\u00edt\u011b mezi kontejnery. Otev\u0159en\u00ed portu pro hostitelsk\u00fd syst\u00e9m V p\u0159ede\u0161l\u00e9 \u010d\u00e1sti jsme si uk\u00e1zali sd\u00edlen\u00ed dat (volume). Otev\u0159\u00edt se t\u00e9\u017e m\u016f\u017ee port, na kter\u00e9m prob\u00edh\u00e1 s\u00ed\u0165ov\u00e1 komunikace. Nap\u0159\u00edklad webov\u00fd server Nginx p\u0159ij\u00edm\u00e1 dotazy na portu \u010d\u00edslo 80,...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.websupport.cz\/podpora\/kb\/docker-4-network-sit\/\" \/>\n<meta property=\"og:site_name\" content=\"Websupport Centrum n\u00e1pov\u011bdy\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-19T08:54:07+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Odhadovan\u00e1 doba \u010dten\u00ed\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/podpora\\\/kb\\\/docker-4-network-sit\\\/\",\"url\":\"https:\\\/\\\/www.websupport.cz\\\/podpora\\\/kb\\\/docker-4-network-sit\\\/\",\"name\":\"Docker - 4. Network (s\u00ed\u0165) - Websupport Centrum n\u00e1pov\u011bdy\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/podpora\\\/#website\"},\"datePublished\":\"2021-04-13T11:24:13+00:00\",\"dateModified\":\"2021-07-19T08:54:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/podpora\\\/kb\\\/docker-4-network-sit\\\/#breadcrumb\"},\"inLanguage\":\"cs\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.websupport.cz\\\/podpora\\\/kb\\\/docker-4-network-sit\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/podpora\\\/kb\\\/docker-4-network-sit\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.websupport.cz\\\/podpora\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker &#8211; 4. Network (s\u00ed\u0165)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/podpora\\\/#website\",\"url\":\"https:\\\/\\\/www.websupport.cz\\\/podpora\\\/\",\"name\":\"Websupport Centrum n\u00e1pov\u011bdy\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.websupport.cz\\\/podpora\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"cs\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker - 4. Network (s\u00ed\u0165) - Websupport Centrum n\u00e1pov\u011bdy","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.cz\/podpora\/kb\/docker-4-network-sit\/","og_locale":"cs_CZ","og_type":"article","og_title":"Docker - 4. Network (s\u00ed\u0165) - Websupport Centrum n\u00e1pov\u011bdy","og_description":"Network (s\u00ed\u0165) umo\u017e\u0148uje propojit porty z vnit\u0159ku kontejneru do hostitelsk\u00e9ho syst\u00e9mu a vytv\u00e1\u0159et s\u00edt\u011b mezi kontejnery. Otev\u0159en\u00ed portu pro hostitelsk\u00fd syst\u00e9m V p\u0159ede\u0161l\u00e9 \u010d\u00e1sti jsme si uk\u00e1zali sd\u00edlen\u00ed dat (volume). Otev\u0159\u00edt se t\u00e9\u017e m\u016f\u017ee port, na kter\u00e9m prob\u00edh\u00e1 s\u00ed\u0165ov\u00e1 komunikace. Nap\u0159\u00edklad webov\u00fd server Nginx p\u0159ij\u00edm\u00e1 dotazy na portu \u010d\u00edslo 80,...","og_url":"https:\/\/www.websupport.cz\/podpora\/kb\/docker-4-network-sit\/","og_site_name":"Websupport Centrum n\u00e1pov\u011bdy","article_modified_time":"2021-07-19T08:54:07+00:00","twitter_card":"summary_large_image","twitter_misc":{"Odhadovan\u00e1 doba \u010dten\u00ed":"3 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.websupport.cz\/podpora\/kb\/docker-4-network-sit\/","url":"https:\/\/www.websupport.cz\/podpora\/kb\/docker-4-network-sit\/","name":"Docker - 4. Network (s\u00ed\u0165) - Websupport Centrum n\u00e1pov\u011bdy","isPartOf":{"@id":"https:\/\/www.websupport.cz\/podpora\/#website"},"datePublished":"2021-04-13T11:24:13+00:00","dateModified":"2021-07-19T08:54:07+00:00","breadcrumb":{"@id":"https:\/\/www.websupport.cz\/podpora\/kb\/docker-4-network-sit\/#breadcrumb"},"inLanguage":"cs","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.websupport.cz\/podpora\/kb\/docker-4-network-sit\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.websupport.cz\/podpora\/kb\/docker-4-network-sit\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.websupport.cz\/podpora\/"},{"@type":"ListItem","position":2,"name":"Docker &#8211; 4. Network (s\u00ed\u0165)"}]},{"@type":"WebSite","@id":"https:\/\/www.websupport.cz\/podpora\/#website","url":"https:\/\/www.websupport.cz\/podpora\/","name":"Websupport Centrum n\u00e1pov\u011bdy","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.websupport.cz\/podpora\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"cs"}]}},"_links":{"self":[{"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb\/785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/users\/3"}],"version-history":[{"count":2,"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb\/785\/revisions"}],"predecessor-version":[{"id":3224,"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb\/785\/revisions\/3224"}],"wp:attachment":[{"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/media?parent=785"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb-category?post=785"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb-tag?post=785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}