{"id":698,"date":"2026-03-08T22:43:37","date_gmt":"2026-03-08T22:43:37","guid":{"rendered":"https:\/\/www.nextred.it\/web\/?post_type=knowledgebase&#038;p=698"},"modified":"2026-03-08T22:43:37","modified_gmt":"2026-03-08T22:43:37","slug":"creare-docker-compose-yml","status":"publish","type":"knowledgebase","link":"https:\/\/www.nextred.it\/web\/doc\/nextredos-ratkit-vers-1\/guide-docker\/creare-docker-compose-yml\/","title":{"rendered":"Creare docker-compose.yml"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Docker Compose permette di definire e gestire applicazioni multi-container con un singolo file YAML.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Struttura Base<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">version: &#8216;3.8&#8217;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">services:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">web:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">image: nginx:latest<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ports:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; &#8216;8080:80&#8217;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">volumes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; .\/html:\/usr\/share\/nginx\/html<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">restart: unless-stopped<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">db:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">image: mariadb:latest<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">environment:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MYSQL_ROOT_PASSWORD: segreta<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MYSQL_DATABASE: mio_db<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">volumes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; db_data:\/var\/lib\/mysql<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">volumes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">db_data:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Comandi Docker Compose<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">docker compose up -d # Avvia in background<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">docker compose down # Ferma e rimuovi<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">docker compose ps # Stato servizi<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">docker compose logs -f # Log in tempo reale<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">docker compose pull # Aggiorna immagini<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">docker compose restart<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">docker compose exec web bash # Shell nel servizio<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Esempio Stack Web Completo<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">version: &#8216;3.8&#8217;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">services:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">nginx:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">image: nginx:alpine<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ports: [&#8217;80:80&#8242;, &#8216;443:443&#8217;]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">volumes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; .\/nginx.conf:\/etc\/nginx\/nginx.conf<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; .\/certs:\/etc\/ssl\/certs<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">depends_on: [app]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">app:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">build: .<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">environment:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; DATABASE_URL=mysql:\/\/user:pass@db\/mydb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">depends_on: [db]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">db:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">image: mariadb:10.11<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">environment:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MYSQL_DATABASE: mydb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MYSQL_USER: user<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MYSQL_PASSWORD: pass<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MYSQL_ROOT_PASSWORD: rootpass<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">volumes: [&#8216;db_data:\/var\/lib\/mysql&#8217;]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">volumes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">db_data:<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker Compose permette di definire e gestire applicazioni multi-container con un singolo file YAML. Struttura Base version: &#8216;3.8&#8217; services: web: image: nginx:latest ports: &#8211; &#8216;8080:80&#8217; volumes: &#8211; .\/html:\/usr\/share\/nginx\/html restart: unless-stopped db: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: segreta MYSQL_DATABASE: mio_db volumes: &#8211; db_data:\/var\/lib\/mysql volumes: db_data: Comandi Docker Compose docker compose up -d # Avvia in background docker [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","template":"","knowledgebase_cat":[162],"class_list":["post-698","knowledgebase","type-knowledgebase","status-publish","hentry","knowledgebase_cat-guide-docker"],"_links":{"self":[{"href":"https:\/\/www.nextred.it\/web\/wp-json\/wp\/v2\/knowledgebase\/698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nextred.it\/web\/wp-json\/wp\/v2\/knowledgebase"}],"about":[{"href":"https:\/\/www.nextred.it\/web\/wp-json\/wp\/v2\/types\/knowledgebase"}],"author":[{"embeddable":true,"href":"https:\/\/www.nextred.it\/web\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nextred.it\/web\/wp-json\/wp\/v2\/comments?post=698"}],"version-history":[{"count":0,"href":"https:\/\/www.nextred.it\/web\/wp-json\/wp\/v2\/knowledgebase\/698\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.nextred.it\/web\/wp-json\/wp\/v2\/media?parent=698"}],"wp:term":[{"taxonomy":"knowledgebase_cat","embeddable":true,"href":"https:\/\/www.nextred.it\/web\/wp-json\/wp\/v2\/knowledgebase_cat?post=698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}