{"id":1095,"date":"2025-08-01T06:58:53","date_gmt":"2025-08-01T06:58:53","guid":{"rendered":"https:\/\/tooldech.com\/?p=1095"},"modified":"2025-08-01T06:58:55","modified_gmt":"2025-08-01T06:58:55","slug":"docker-compose-guida-semplice","status":"publish","type":"post","link":"https:\/\/tooldech.com\/en\/docker-compose-guida-semplice\/","title":{"rendered":"Docker Compose: simple guide"},"content":{"rendered":"<h2 class=\"wp-block-heading\">What is Docker Compose and why use it?<\/h2>\n\n\n\n<p>Good morning everyone and welcome to a new article from Tooldech. In this article, we\u2019ll talk about a useful tool when working with\u2026 <strong>Docker<\/strong>\u2026you\u2019ve probably noticed that starting multiple containers with\u2026 <code>docker run<\/code> \u2026can quickly become complicated. Imagine having to launch a web application with a database, a cache server, and maybe a reverse proxy: lots of commands, ports to remember, networks to create\u2026<\/p>\n\n\n\n<p>This is where comes into play. <strong>Docker Compose<\/strong>\u2014 a tool that allows you to define and run multi-container Docker applications. <strong>more container Docker<\/strong> through a single <strong>unice file YAML<\/strong>It\u2019s perfect for creating development environments that are replicable, readable, and easy to maintain.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">How it works<\/h2>\n\n\n\n<p>Docker Compose works through a file called <code>docker-compose.yml<\/code>, where you define:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The services<\/strong> (es. app, database\u2026),<\/li>\n\n\n\n<li>The <strong>networks<\/strong> that connect them,<\/li>\n\n\n\n<li>any necessary <strong>volumes<\/strong> persistent<\/li>\n\n\n\n<li>and all the configurations needed to launch the entire stack.<\/li>\n<\/ul>\n\n\n\n<p>Once the file is ready, a single command is enough to start everything:<\/p>\n\n\n\n<pre class=\"wp-block-code has-cyan-bluish-gray-background-color has-background\"><code>docker-compose up<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p>Before getting started, make sure you have installed:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.docker.com\/engine\/\">Docker Engine<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.docker.com\/compose\/install\/\">Docker Compose<\/a> (included in recent versions of Docker Desktop)<\/li>\n<\/ul>\n\n\n\n<p>Or check out my article on the<a href=\"https:\/\/tooldech.com\/docker-installation\/\">installazione di docker<\/a>.<\/p>\n\n\n\n<p>Verifiy all with :<\/p>\n\n\n\n<pre class=\"wp-block-code has-cyan-bluish-gray-background-color has-background\"><code>docker --version\ndocker compose version<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-dominant-color=\"2e2e2d\" data-has-transparency=\"false\" style=\"--dominant-color: #2e2e2d;\" loading=\"lazy\" decoding=\"async\" width=\"428\" height=\"87\" src=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp1.webp\" alt=\"\" class=\"wp-image-1116 not-transparent\" srcset=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp1.webp 428w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp1-300x61.webp 300w\" sizes=\"auto, (max-width: 428px) 100vw, 428px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Let\u2019s create our first local environment<\/h2>\n\n\n\n<p>In this guide, we\u2019ll create a demo application made up of:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>a server web (based of Nginx)<\/li>\n\n\n\n<li>a database PostgreSQL<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">1. Structure of project<\/h3>\n\n\n\n<p>Make a folder for the project<\/p>\n\n\n\n<pre class=\"wp-block-code has-cyan-bluish-gray-background-color has-background\"><code>mkdir mio-progetto-docker\ncd mio-progetto-docker<\/code><\/pre>\n\n\n\n<p>Inside it, we\u2019ll create two files:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>    `docker-compose.yml` \u2192 defines the services<\/li>\n\n\n\n<li>    index.html \u2192 un file HTML di test per il web server<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-dominant-color=\"1e1e1e\" data-has-transparency=\"false\" style=\"--dominant-color: #1e1e1e;\" loading=\"lazy\" decoding=\"async\" width=\"593\" height=\"279\" src=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp2.webp\" alt=\"\" class=\"wp-image-1117 not-transparent\" srcset=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp2.webp 593w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp2-300x141.webp 300w\" sizes=\"auto, (max-width: 593px) 100vw, 593px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">2. Let's write the docker-compose.yml file<\/h3>\n\n\n\n<pre class=\"wp-block-code has-cyan-bluish-gray-background-color has-background\"><code>version: '3.8'\n\nservices:\n  web:\n    image: nginx:latest\n    ports:\n      - \"8081:80\"\n    volumes:\n      - .\/index.html:\/usr\/share\/nginx\/html\/index.html:ro\n    depends_on:\n      - db\n\n  db:\n    image: postgres:13\n    environment:\n      POSTGRES_USER: user\n      POSTGRES_PASSWORD: password\n      POSTGRES_DB: miaapp\n    volumes:\n      - db_data:\/var\/lib\/postgresql\/data\n\nvolumes:\n  db_data:<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Detailed explanation:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>version: '3.8': version of the Compose file format.<\/li>\n\n\n\n<li>services: definisce i container.<\/li>\n\n\n\n<li>web:\n<ul class=\"wp-block-list\">\n<li>uses the official nginx image.<\/li>\n\n\n\n<li>exposes port 8081 on your PC to port 80 of the container.<\/li>\n\n\n\n<li>mounts index.html into Nginx's default directory.<\/li>\n\n\n\n<li>dipende dal database (depends_on).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>db:\n<ul class=\"wp-block-list\">\n<li> uses the official postgres:13 image.<\/li>\n\n\n\n<li>sets environment variables for user, password, and initial database.<\/li>\n\n\n\n<li>creates a persistent volume named db_data.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>volumes: definition of named volumes (persistent)<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-dominant-color=\"373a3b\" data-has-transparency=\"false\" style=\"--dominant-color: #373a3b;\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1019\" src=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code-1-1024x1019.webp\" alt=\"\" class=\"wp-image-1121 not-transparent\" srcset=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code-1-1024x1019.webp 1024w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code-1-300x298.webp 300w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code-1-150x150.webp 150w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code-1-768x764.webp 768w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code-1.webp 1172w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>If you want to download the file docker-compose to  get head start, here it is:<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-1767cd84-8652-4113-88ac-9517a5b76e81\" href=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docker-compose-1.yaml\">docker-compose<\/a><a href=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docker-compose-1.yaml\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-1767cd84-8652-4113-88ac-9517a5b76e81\">Download<\/a><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">3. Let's create the file <code>index.html<\/code><\/h3>\n\n\n\n<p>In the project, create  the html file:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-dominant-color=\"2e3031\" data-has-transparency=\"false\" style=\"--dominant-color: #2e3031;\" loading=\"lazy\" decoding=\"async\" width=\"485\" height=\"1024\" src=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code2-485x1024.webp\" alt=\"\" class=\"wp-image-1119 not-transparent\" srcset=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code2-485x1024.webp 485w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code2-142x300.webp 142w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code2-768x1622.webp 768w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code2-727x1536.webp 727w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code2-970x2048.webp 970w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code2-1024x2162.webp 1024w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/code2-scaled.webp 1212w\" sizes=\"auto, (max-width: 485px) 100vw, 485px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">4. Start the environment\" <\/h3>\n\n\n\n<p>Start everything with:<\/p>\n\n\n\n<pre class=\"wp-block-code has-cyan-bluish-gray-background-color has-background\"><code>docker-compose up<\/code><\/pre>\n\n\n\n<p>You'll see the container logs starting up. If this is the first time, Docker will download the required images.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-dominant-color=\"1e1e1e\" data-has-transparency=\"false\" style=\"--dominant-color: #1e1e1e;\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"226\" src=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp3-1024x226.webp\" alt=\"\" class=\"wp-image-1120 not-transparent\" srcset=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp3-1024x226.webp 1024w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp3-300x66.webp 300w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp3-768x169.webp 768w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp3.webp 1474w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">5. Test  that it's working<\/h3>\n\n\n\n<p>Open your  browser and go to:<\/p>\n\n\n\n<pre class=\"wp-block-code has-cyan-bluish-gray-background-color has-background\"><code>http:&#47;&#47;localhost:8081<\/code><\/pre>\n\n\n\n<p>you 'll see the text:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-dominant-color=\"060c07\" data-has-transparency=\"false\" style=\"--dominant-color: #060c07;\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"538\" src=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp4-1024x538.webp\" alt=\"\" class=\"wp-image-1123 not-transparent\" srcset=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp4-1024x538.webp 1024w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp4-300x158.webp 300w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp4-768x404.webp 768w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp4-1536x807.webp 1536w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp4.webp 1868w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>In the meantime, the PostgreSQL container will be running, ready to accept connections from your app.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Useful Docker Compose commands<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Start in background:<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code has-cyan-bluish-gray-background-color has-background\"><code>docker-compose up -d<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stop the services:<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code has-cyan-bluish-gray-background-color has-background\"><code>docker-compose down<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-dominant-color=\"1c1d1d\" data-has-transparency=\"false\" style=\"--dominant-color: #1c1d1d;\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"147\" src=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp6-1024x147.webp\" alt=\"\" class=\"wp-image-1125 not-transparent\" srcset=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp6-1024x147.webp 1024w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp6-300x43.webp 300w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp6-768x110.webp 768w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp6.webp 1457w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Verifiy the status:<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code has-cyan-bluish-gray-background-color has-background\"><code>docker-compose ps<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Log from container:<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code has-cyan-bluish-gray-background-color has-background\"><code>docker-compose logs -f<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-dominant-color=\"222322\" data-has-transparency=\"false\" style=\"--dominant-color: #222322;\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"546\" src=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp5-1024x546.webp\" alt=\"\" class=\"wp-image-1124 not-transparent\" srcset=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp5-1024x546.webp 1024w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp5-300x160.webp 300w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp5-768x409.webp 768w, https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/docomp5.webp 1462w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>You've just created your first local development environment with Docker Compose \u2014 simple, readable, and powerful.<\/p>\n\n\n\n<p>This is the perfect foundation for building more complex applications by integrating backend, frontend, databases, queues, proxies, and more. With a single file, you can manage your entire stack!<\/p>\n\n\n\n<p>We've reached the end of this simple and interesting article on Docker Compose. Thanks for reading, and see you in the next one!<\/p>\n\n\n\n<p>Follow us on our social media!<\/p>\n\n\n\n<ul class=\"wp-block-social-links has-huge-icon-size is-content-justification-center is-layout-flex wp-container-core-social-links-is-layout-a89b3969 wp-block-social-links-is-layout-flex\"><li class=\"wp-social-link wp-social-link-pinterest  wp-block-social-link\"><a href=\"https:\/\/pin.it\/2Bk2aTtDW\" class=\"wp-block-social-link-anchor\"><svg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12.289,2C6.617,2,3.606,5.648,3.606,9.622c0,1.846,1.025,4.146,2.666,4.878c0.25,0.111,0.381,0.063,0.439-0.169 c0.044-0.175,0.267-1.029,0.365-1.428c0.032-0.128,0.017-0.237-0.091-0.362C6.445,11.911,6.01,10.75,6.01,9.668 c0-2.777,2.194-5.464,5.933-5.464c3.23,0,5.49,2.108,5.49,5.122c0,3.407-1.794,5.768-4.13,5.768c-1.291,0-2.257-1.021-1.948-2.277 c0.372-1.495,1.089-3.112,1.089-4.191c0-0.967-0.542-1.775-1.663-1.775c-1.319,0-2.379,1.309-2.379,3.059 c0,1.115,0.394,1.869,0.394,1.869s-1.302,5.279-1.54,6.261c-0.405,1.666,0.053,4.368,0.094,4.604 c0.021,0.126,0.167,0.169,0.25,0.063c0.129-0.165,1.699-2.419,2.142-4.051c0.158-0.59,0.817-2.995,0.817-2.995 c0.43,0.784,1.681,1.446,3.013,1.446c3.963,0,6.822-3.494,6.822-7.833C20.394,5.112,16.849,2,12.289,2\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Pinterest<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-instagram  wp-block-social-link\"><a href=\"https:\/\/www.instagram.com\/tooldech\/\" class=\"wp-block-social-link-anchor\"><svg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Instagram<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-github  wp-block-social-link\"><a href=\"https:\/\/github.com\/Matteo29-mar\" class=\"wp-block-social-link-anchor\"><svg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">GitHub<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-etsy  wp-block-social-link\"><a href=\"https:\/\/www.etsy.com\/shop\/tooldech\" class=\"wp-block-social-link-anchor\"><svg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M9.16033,4.038c0-.27174.02717-.43478.48913-.43478h6.22283c1.087,0,1.68478.92391,2.11957,2.663l.35326,1.38587h1.05978C19.59511,3.712,19.75815,2,19.75815,2s-2.663.29891-4.23913.29891h-7.962L3.29076,2.163v1.1413L4.731,3.57609c1.00543.19022,1.25.40761,1.33152,1.33152,0,0,.08152,2.71739.08152,7.20109s-.08152,7.17391-.08152,7.17391c0,.81522-.32609,1.11413-1.33152,1.30435l-1.44022.27174V22l4.2663-.13587h7.11957c1.60326,0,5.32609.13587,5.32609.13587.08152-.97826.625-5.40761.70652-5.89674H19.7038L18.644,18.52174c-.84239,1.90217-2.06522,2.038-3.42391,2.038H11.1712c-1.3587,0-2.01087-.54348-2.01087-1.712V12.65217s3.0163,0,3.99457.08152c.76087.05435,1.22283.27174,1.46739,1.33152l.32609,1.413h1.16848l-.08152-3.55978.163-3.587H15.02989l-.38043,1.57609c-.24457,1.03261-.40761,1.22283-1.46739,1.33152-1.38587.13587-4.02174.1087-4.02174.1087Z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Etsy<\/span><\/a><\/li><\/ul>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Cos&#8217;\u00e8 Docker Compose e perch\u00e9 usarlo Buongiorno a tutti e benvenuti in nuovo articolo di tooldech, in questo articolo parleremo di uno strumento utile quando si usa Docker, ti sarai accorto che avviare pi\u00f9 container con docker run pu\u00f2 diventare rapidamente complicato. Immagina di dover far partire un\u2019applicazione web con un database, un server cache [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1126,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1095","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docker"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Docker Compose: guida semplice - tooldech<\/title>\n<meta name=\"description\" content=\"Scopri con tooldech come creare un Docker Compose: guida semplice per la creazione di uno stack locale per sviluppare\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tooldech.com\/en\/docker-compose-guida-semplice\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker Compose: guida semplice - tooldech\" \/>\n<meta property=\"og:description\" content=\"Scopri con tooldech come creare un Docker Compose: guida semplice per la creazione di uno stack locale per sviluppare\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tooldech.com\/en\/docker-compose-guida-semplice\/\" \/>\n<meta property=\"og:site_name\" content=\"tooldech\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-01T06:58:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-01T06:58:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/ChatGPT-Image-1-ago-2025-08_54_11.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"tooldech\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"tooldech\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/\"},\"author\":{\"name\":\"tooldech\",\"@id\":\"https:\\\/\\\/tooldech.com\\\/#\\\/schema\\\/person\\\/4a554644f96951080896bbb327febe3b\"},\"headline\":\"Docker Compose: guida semplice\",\"datePublished\":\"2025-08-01T06:58:53+00:00\",\"dateModified\":\"2025-08-01T06:58:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/\"},\"wordCount\":474,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\\\/\\\/tooldech.com\\\/#\\\/schema\\\/person\\\/4a554644f96951080896bbb327febe3b\"},\"image\":{\"@id\":\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tooldech.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/ChatGPT-Image-1-ago-2025-08_54_11.webp\",\"articleSection\":[\"Docker\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/\",\"url\":\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/\",\"name\":\"Docker Compose: guida semplice - tooldech\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tooldech.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tooldech.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/ChatGPT-Image-1-ago-2025-08_54_11.webp\",\"datePublished\":\"2025-08-01T06:58:53+00:00\",\"dateModified\":\"2025-08-01T06:58:55+00:00\",\"description\":\"Scopri con tooldech come creare un Docker Compose: guida semplice per la creazione di uno stack locale per sviluppare\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tooldech.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/ChatGPT-Image-1-ago-2025-08_54_11.webp\",\"contentUrl\":\"https:\\\/\\\/tooldech.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/ChatGPT-Image-1-ago-2025-08_54_11.webp\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tooldech.com\\\/docker-compose-guida-semplice\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/tooldech.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker Compose: guida semplice\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tooldech.com\\\/#website\",\"url\":\"https:\\\/\\\/tooldech.com\\\/\",\"name\":\"tooldech\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/tooldech.com\\\/#\\\/schema\\\/person\\\/4a554644f96951080896bbb327febe3b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tooldech.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/tooldech.com\\\/#\\\/schema\\\/person\\\/4a554644f96951080896bbb327febe3b\",\"name\":\"tooldech\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tooldech.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/logo.png\",\"url\":\"https:\\\/\\\/tooldech.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/tooldech.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/logo.png\",\"width\":1024,\"height\":1024,\"caption\":\"tooldech\"},\"logo\":{\"@id\":\"https:\\\/\\\/tooldech.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/logo.png\"},\"sameAs\":[\"https:\\\/\\\/tooldech.com\"],\"url\":\"https:\\\/\\\/tooldech.com\\\/en\\\/author\\\/tooldech\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker Compose: guida semplice - tooldech","description":"Scopri con tooldech come creare un Docker Compose: guida semplice per la creazione di uno stack locale per sviluppare","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:\/\/tooldech.com\/en\/docker-compose-guida-semplice\/","og_locale":"en_US","og_type":"article","og_title":"Docker Compose: guida semplice - tooldech","og_description":"Scopri con tooldech come creare un Docker Compose: guida semplice per la creazione di uno stack locale per sviluppare","og_url":"https:\/\/tooldech.com\/en\/docker-compose-guida-semplice\/","og_site_name":"tooldech","article_published_time":"2025-08-01T06:58:53+00:00","article_modified_time":"2025-08-01T06:58:55+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/ChatGPT-Image-1-ago-2025-08_54_11.webp","type":"image\/png"}],"author":"tooldech","twitter_card":"summary_large_image","twitter_misc":{"Written by":"tooldech","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tooldech.com\/docker-compose-guida-semplice\/#article","isPartOf":{"@id":"https:\/\/tooldech.com\/docker-compose-guida-semplice\/"},"author":{"name":"tooldech","@id":"https:\/\/tooldech.com\/#\/schema\/person\/4a554644f96951080896bbb327febe3b"},"headline":"Docker Compose: guida semplice","datePublished":"2025-08-01T06:58:53+00:00","dateModified":"2025-08-01T06:58:55+00:00","mainEntityOfPage":{"@id":"https:\/\/tooldech.com\/docker-compose-guida-semplice\/"},"wordCount":474,"commentCount":6,"publisher":{"@id":"https:\/\/tooldech.com\/#\/schema\/person\/4a554644f96951080896bbb327febe3b"},"image":{"@id":"https:\/\/tooldech.com\/docker-compose-guida-semplice\/#primaryimage"},"thumbnailUrl":"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/ChatGPT-Image-1-ago-2025-08_54_11.webp","articleSection":["Docker"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/tooldech.com\/docker-compose-guida-semplice\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/tooldech.com\/docker-compose-guida-semplice\/","url":"https:\/\/tooldech.com\/docker-compose-guida-semplice\/","name":"Docker Compose: guida semplice - tooldech","isPartOf":{"@id":"https:\/\/tooldech.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tooldech.com\/docker-compose-guida-semplice\/#primaryimage"},"image":{"@id":"https:\/\/tooldech.com\/docker-compose-guida-semplice\/#primaryimage"},"thumbnailUrl":"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/ChatGPT-Image-1-ago-2025-08_54_11.webp","datePublished":"2025-08-01T06:58:53+00:00","dateModified":"2025-08-01T06:58:55+00:00","description":"Scopri con tooldech come creare un Docker Compose: guida semplice per la creazione di uno stack locale per sviluppare","breadcrumb":{"@id":"https:\/\/tooldech.com\/docker-compose-guida-semplice\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tooldech.com\/docker-compose-guida-semplice\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tooldech.com\/docker-compose-guida-semplice\/#primaryimage","url":"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/ChatGPT-Image-1-ago-2025-08_54_11.webp","contentUrl":"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/ChatGPT-Image-1-ago-2025-08_54_11.webp","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/tooldech.com\/docker-compose-guida-semplice\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/tooldech.com\/"},{"@type":"ListItem","position":2,"name":"Docker Compose: guida semplice"}]},{"@type":"WebSite","@id":"https:\/\/tooldech.com\/#website","url":"https:\/\/tooldech.com\/","name":"tooldech","description":"","publisher":{"@id":"https:\/\/tooldech.com\/#\/schema\/person\/4a554644f96951080896bbb327febe3b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tooldech.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/tooldech.com\/#\/schema\/person\/4a554644f96951080896bbb327febe3b","name":"tooldech","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/06\/logo.png","url":"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/06\/logo.png","contentUrl":"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/06\/logo.png","width":1024,"height":1024,"caption":"tooldech"},"logo":{"@id":"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/06\/logo.png"},"sameAs":["https:\/\/tooldech.com"],"url":"https:\/\/tooldech.com\/en\/author\/tooldech\/"}]}},"jetpack_featured_media_url":"https:\/\/tooldech.com\/wp-content\/uploads\/2025\/08\/ChatGPT-Image-1-ago-2025-08_54_11.webp","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":16,"url":"https:\/\/tooldech.com\/en\/docker-installation\/","url_meta":{"origin":1095,"position":0},"title":"Complete Guide to Installing Docker","author":"tooldech","date":"February 3, 2024","format":false,"excerpt":"Salve a tutti. Benvenuti nel primo articolo di questa serie di tutorial su Docker. Oggi parleremo della Docker installation. Voglio fornire a voi miei cari lettori una guida completa. Non sar\u00e0 semplice in pochi passi. Questa guida vi porter\u00e0 a quello che cercate in questo tutorial. Non ci saranno passaggi\u2026","rel":"","context":"In &quot;Docker&quot;","block_context":{"text":"Docker","link":"https:\/\/tooldech.com\/en\/category\/docker\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2024\/02\/Docker-Logo-2013-2015-1524352318-scaled.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2024\/02\/Docker-Logo-2013-2015-1524352318-scaled.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2024\/02\/Docker-Logo-2013-2015-1524352318-scaled.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2024\/02\/Docker-Logo-2013-2015-1524352318-scaled.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2024\/02\/Docker-Logo-2013-2015-1524352318-scaled.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2024\/02\/Docker-Logo-2013-2015-1524352318-scaled.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":1201,"url":"https:\/\/tooldech.com\/en\/prometheus-grafana-monitoring-in-ambiente-docker\/","url_meta":{"origin":1095,"position":1},"title":"Prometheus + Grafana: Monitoring in a Docker Environment","author":"tooldech","date":"September 12, 2025","format":false,"excerpt":"Buongiorno a tutti e bentornati in nuovo articolo di tooldech oggi parleremo di due strumenti combinati insieme Prometheus + Grafana ! Vuoi monitorare host e container in pochi minuti usando strumenti open\u2011source standard? In questa guida configuriamo Prometheus (raccolta metriche) e Grafana (visualizzazione) con Docker Compose, includendo cAdvisor (metriche dei\u2026","rel":"","context":"In &quot;Applicativi Vari&quot;","block_context":{"text":"Applicativi Vari","link":"https:\/\/tooldech.com\/en\/category\/applicativi-vari\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/09\/title.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/09\/title.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/09\/title.webp?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/09\/title.webp?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/09\/title.webp?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/09\/title.webp?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":1314,"url":"https:\/\/tooldech.com\/en\/project-web-app-from-local-docker-to-production-enviroment-on-cloud\/","url_meta":{"origin":1095,"position":2},"title":"Project web app from local docker to production enviroment on cloud.","author":"tooldech","date":"March 12, 2026","format":false,"excerpt":"Buongiorno a tutti e benvenuti in nuovo articolo di tooldech! Oggi vedremo come realizzare una migrazione di un progetto di una web app in locale e portarlo in produzione sul cloud di AWS. In questo tutorial verranno spiegati i passaggi e i procedimenti necessari per spostare una web app locale\u2026","rel":"","context":"In &quot;Applicativi Vari&quot;","block_context":{"text":"Applicativi Vari","link":"https:\/\/tooldech.com\/en\/category\/applicativi-vari\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2026\/03\/webappCloud.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2026\/03\/webappCloud.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2026\/03\/webappCloud.webp?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2026\/03\/webappCloud.webp?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2026\/03\/webappCloud.webp?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2026\/03\/webappCloud.webp?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":1278,"url":"https:\/\/tooldech.com\/en\/docker-hub-first-pass\/","url_meta":{"origin":1095,"position":3},"title":"Docker Hub first pass","author":"tooldech","date":"December 3, 2025","format":false,"excerpt":"Buongiorno a tutti oggi parleremo di uno strumento molto usato per chi usa Docker. Docker Hub \u00e8 uno degli strumenti pi\u00f9 usati dagli sviluppatori e dai DevOps di tutto il mondo. Se usi Docker, prima o poi ti servir\u00e0 un luogo dove condividere, salvare e scaricare immagini in modo semplice\u2026","rel":"","context":"In &quot;Docker&quot;","block_context":{"text":"Docker","link":"https:\/\/tooldech.com\/en\/category\/docker\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/12\/ChatGPT-Image-3-dic-2025-08_17_01.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/12\/ChatGPT-Image-3-dic-2025-08_17_01.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/12\/ChatGPT-Image-3-dic-2025-08_17_01.webp?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/12\/ChatGPT-Image-3-dic-2025-08_17_01.webp?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":504,"url":"https:\/\/tooldech.com\/en\/pipeline-con-github-actions-devops-tutorial\/","url_meta":{"origin":1095,"position":4},"title":"How to Create a CI\/CD Pipeline with GitHub Actions","author":"tooldech","date":"December 25, 2024","format":false,"excerpt":"Salve a tutti e bentornati in un nuovo articolo di tooldech, oggi vedremo come configurare una pipeline CI\/CD utilizzando GitHub Actions per una semplice web app Python. L'obiettivo di questo tutorial \u00e8 quello di vedere tutto il ciclo di vita di un software e di come ad ogni push viene\u2026","rel":"","context":"In &quot;DevOps&quot;","block_context":{"text":"DevOps","link":"https:\/\/tooldech.com\/en\/category\/devops\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2024\/12\/cop.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2024\/12\/cop.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2024\/12\/cop.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2024\/12\/cop.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1009,"url":"https:\/\/tooldech.com\/en\/deployare-su-aws-ecs-con-load-balancer-guida-passo-passo\/","url_meta":{"origin":1095,"position":5},"title":"Deploying on AWS ECS with Load Balancer: Step-by-Step Guide","author":"tooldech","date":"June 29, 2025","format":false,"excerpt":"Buongiorno a tutti e benvenuti in un nuovo articolo di tooldech oggi parleremo di AWS ECS! Sei pronto a portare la tua applicazione Python online in modo scalabile e sicuro? In questo articolo ti guider\u00f2 passo dopo passo nel deployment di una web app Python su AWS ECS (Elastic Container\u2026","rel":"","context":"In &quot;Cloud&quot;","block_context":{"text":"Cloud","link":"https:\/\/tooldech.com\/en\/category\/cloud\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/06\/logo-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/06\/logo-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/06\/logo-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/06\/logo-1.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/06\/logo-1.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/tooldech.com\/wp-content\/uploads\/2025\/06\/logo-1.png?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/tooldech.com\/en\/wp-json\/wp\/v2\/posts\/1095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tooldech.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tooldech.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tooldech.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tooldech.com\/en\/wp-json\/wp\/v2\/comments?post=1095"}],"version-history":[{"count":2,"href":"https:\/\/tooldech.com\/en\/wp-json\/wp\/v2\/posts\/1095\/revisions"}],"predecessor-version":[{"id":1127,"href":"https:\/\/tooldech.com\/en\/wp-json\/wp\/v2\/posts\/1095\/revisions\/1127"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tooldech.com\/en\/wp-json\/wp\/v2\/media\/1126"}],"wp:attachment":[{"href":"https:\/\/tooldech.com\/en\/wp-json\/wp\/v2\/media?parent=1095"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tooldech.com\/en\/wp-json\/wp\/v2\/categories?post=1095"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tooldech.com\/en\/wp-json\/wp\/v2\/tags?post=1095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}