{"id":12624,"date":"2023-11-27T09:42:28","date_gmt":"2023-11-27T08:42:28","guid":{"rendered":"https:\/\/dhosting.pl\/pomoc\/?post_type=manual_kb&#038;p=12624"},"modified":"2023-11-27T09:42:28","modified_gmt":"2023-11-27T08:42:28","slug":"co-to-jest-docker-compose","status":"publish","type":"manual_kb","link":"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/co-to-jest-docker-compose\/","title":{"rendered":"Co to jest Docker Compose?"},"content":{"rendered":"<p>Docker Compose to narz\u0119dzie stworzone przez Docker, Inc., kt\u00f3re umo\u017cliwia definicj\u0119 i zarz\u0105dzanie wieloma kontenerami Docker jako jedn\u0105 aplikacj\u0119. Pozwala deweloperom na konfigurowanie i uruchamianie wielu kontener\u00f3w, us\u0142ug i sieci w spos\u00f3b sp\u00f3jny i prosty. Docker Compose u\u017cywa plik\u00f3w YAML do zdefiniowania ca\u0142ego \u015brodowiska aplikacji, w tym konfiguracji kontener\u00f3w, sieci, zmiennych \u015brodowiskowych, port\u00f3w itp.<\/p>\n<p>G\u0142\u00f3wne cechy i funkcje Docker Compose:<\/p>\n<ol>\n<li><strong>Jednolity plik konfiguracyjny:<\/strong> Wszystkie informacje potrzebne do skonfigurowania i uruchomienia aplikacji s\u0105 zawarte w jednym pliku YAML, co u\u0142atwia utrzymanie sp\u00f3jno\u015bci mi\u0119dzy r\u00f3\u017cnymi \u015brodowiskami.<\/li>\n<li><strong>Wielokontenerowe \u015brodowiska:<\/strong> Docker Compose umo\u017cliwia definiowanie wielu kontener\u00f3w w jednym pliku konfiguracyjnym. To pozwala na \u0142atwe zarz\u0105dzanie wielokomponentowymi aplikacjami.<\/li>\n<li><strong>Definiowanie us\u0142ug:<\/strong> Deweloperzy mog\u0105 zdefiniowa\u0107 r\u00f3\u017cne us\u0142ugi w pliku Docker Compose, takie jak bazy danych, serwery aplikacyjne, proxy, itp. Ka\u017cda us\u0142uga jest zazwyczaj reprezentowana przez oddzielny kontener.<\/li>\n<li><strong>Zarz\u0105dzanie sieciami:<\/strong> Docker Compose pozwala na definiowanie niestandardowych sieci, co umo\u017cliwia izolowanie i zarz\u0105dzanie komunikacj\u0105 mi\u0119dzy kontenerami.<\/li>\n<li><strong>Prosta komunikacja mi\u0119dzy kontenerami:<\/strong> Kontenery w ramach jednej aplikacji, zdefiniowanej za pomoc\u0105 Docker Compose, mog\u0105 \u0142atwo komunikowa\u0107 si\u0119 ze sob\u0105, korzystaj\u0105c z nazw serwis\u00f3w jako hostname&#8217;\u00f3w.<\/li>\n<li><strong>Skalowanie us\u0142ug:<\/strong> Docker Compose umo\u017cliwia \u0142atwe skalowanie us\u0142ug w ramach aplikacji. Mo\u017cna okre\u015bli\u0107, ile instancji danej us\u0142ugi ma zosta\u0107 uruchomionych.<\/li>\n<\/ol>\n<p>Przyk\u0142ad prostego pliku Docker Compose:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">version: &#039;3&#039;\nservices:\n  web:\n    image: nginx:latest\n    ports:\n      - &quot;8080:80&quot;\n  app:\n    image: my-app:latest\n    ports:\n      - &quot;5000:5000&quot;\n    depends_on:\n      - db\n  db:\n    image: postgres:latest\n    environment:\n      POSTGRES_PASSWORD: example<\/code><\/pre>\n<p>W tym przyk\u0142adzie mamy trzy us\u0142ugi: <code class=\"\" data-line=\"\">web<\/code> (Nginx), <code class=\"\" data-line=\"\">app<\/code> (nasza aplikacja) i <code class=\"\" data-line=\"\">db<\/code> (PostgreSQL). Docker Compose automatycznie obs\u0142uguje konfiguracj\u0119 sieci, po\u0142\u0105cze\u0144 mi\u0119dzy kontenerami i inne aspekty \u015brodowiska aplikacji. Aby uruchomi\u0107 t\u0119 konfiguracj\u0119, wystarczy u\u017cy\u0107 polecenia <code class=\"\" data-line=\"\">docker-compose up<\/code>.<\/p>\n","protected":false},"author":6,"featured_media":10957,"parent":0,"menu_order":0,"template":"","format":"standard","manualknowledgebasecat":[121,118],"manual_kb_tag":[4100,2997,4099,655,4101,3517,3516],"class_list":["post-12624","manual_kb","type-manual_kb","status-publish","format-standard","has-post-thumbnail","hentry","manualknowledgebasecat-inne","manualknowledgebasecat-pozostale","manual_kb_tag-co-to-jest-docker-compose","manual_kb_tag-docker","manual_kb_tag-docker-compose","manual_kb_tag-hosting","manual_kb_tag-konteneryzacja","manual_kb_tag-polski-hosting","manual_kb_tag-web-hosting"],"_links":{"self":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/12624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":0,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/12624\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media\/10957"}],"wp:attachment":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media?parent=12624"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manualknowledgebasecat?post=12624"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb_tag?post=12624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}