{"id":28514,"date":"2019-06-12T00:00:00","date_gmt":"2019-06-11T22:00:00","guid":{"rendered":"https:\/\/blexin.com\/?p=28514"},"modified":"2021-05-21T20:17:43","modified_gmt":"2021-05-21T18:17:43","slug":"net-core-docker-e-kubernetes","status":"publish","type":"post","link":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/","title":{"rendered":".NET Core, Docker e Kubernetes"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"608\" data-attachment-id=\"28515\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/attachment\/3954d64b-7e17-41bc-be9f-0752eca4460a\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&amp;ssl=1\" data-orig-size=\"1024,608\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"3954d64b-7e17-41bc-be9f-0752eca4460a\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?resize=1024%2C608&#038;ssl=1\" alt=\"\" class=\"wp-image-28515\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a-980x582.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a-480x285.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In un articolo precedente abbiamo parlato dell\u2019uso dei container Docker per lo sviluppo, sottolineando i vantaggi che l\u2019uso dei container possono dare al processo dello sviluppo software. Uno di questi vantaggi \u00e8 la semplificazione del processo di deploy delle immagini dei container, dato che le immagini dei container possono essere deployate molto semplicemente.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La buona notizia \u00e8 che possiamo usare i container per ospitare applicazioni .NET Core, quindi possiamo divertirci con questa tecnologia usando le nostre competenze .NET. Non vi fidate? Ok, seguite questi semplici passi:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Se non avete ancora installato .NET Core, fatelo da&nbsp;<a href=\"https:\/\/dotnet.microsoft.com\/download\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/dotnet.microsoft.com\/download<\/a>&nbsp;<\/li><li>Da terminale, create una cartella (con il comando&nbsp;<strong>mkdir demo<\/strong>), e spostatevi in essa con il comando&nbsp;<strong>cd demo<\/strong><\/li><li>Eseguite il comando&nbsp;<strong>dotnet new webapi<\/strong>&nbsp;per creare un progetto API da un template preconfigurato fornito dalla .NET Core CLI (Command Line Interface)<\/li><li>Eseguite il comando&nbsp;<strong>dotnet run<\/strong>&nbsp;per lanciare l\u2019applicazione sulla vostra macchina<\/li><li>Aprite il browser all\u2019indirizzo&nbsp;<strong><a href=\"https:\/\/localhost:5001\/api\/values\" rel=\"nofollow\">https:\/\/localhost:5001\/api\/values<\/a><\/strong><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Se non ci sono errori, dovreste vedere il seguente risultato:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"877\" height=\"513\" data-attachment-id=\"28517\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/attachment\/image01-21\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-21.png?fit=877%2C513&amp;ssl=1\" data-orig-size=\"877,513\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image01-21\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-21.png?fit=877%2C513&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-21.png?resize=877%2C513&#038;ssl=1\" alt=\"\" class=\"wp-image-28517\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-21.png 877w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-21-480x281.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 877px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">E\u2019 un semplice esempio di API di test, tuttavia possiamo eseguire questo progetto in un container Docker creando un Dockerfile nella root dell\u2019applicazione, contenente i seguenti comandi:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\nFROM microsoft\/dotnet:sdk as build\nRUN mkdir app\nWORKDIR \/app\nCOPY . .\nRUN dotnet restore\nRUN dotnet publish -c Release -o out\n\u00a0\nFROM microsoft\/dotnet:aspnetcore-runtime\nWORKDIR \/app\nCOPY --from=build \/app\/out\/. .\nCMD dotnet demo.dll\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Partendo dall\u2019immagine ufficiale di Microsoft&nbsp;<strong>dotnet:sdk<\/strong>, contenente tutto il .NET Core SDK necessario per la compilazione, creiamo una cartella \u201capp\u201d (RUN mkdir app) e usiamola come working directory (WORKDIR \/app). Questa operazione ci permette di eseguire tutti i comandi successivi su questa cartella. Copiamo il contenuto del progetto nel container (COPY . .), ripristiniamo le dipendenze NUGET (RUN dotnet restore) e pubblichiamo l\u2019applicazione in una cartella chiamata \u201cout\u201d con la configurazione \u201cRelease\u201d (RUN dotnet publish -c Release -o out). Tutte queste operazioni fanno parte di un primo step che abbiamo chiamato \u201cbuild\u201d (FROM microsoft\/dotnet:sdk&nbsp;<strong>as build<\/strong>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nella seconda parte dello script, partiamo dall\u2019immagine Microsoft con il runtime di ASP.NET Core, contenente solo i componenti di runtime per eseguire una applicazione ASP.NET Core (FROM microsoft\/dotnet:aspnetcore-runtime). In questa immagine esiste gi\u00e0 una cartella app. Quindi dobbiamo solo impostarla come cartella di lavoro (WORKDIR \/app) e copiare il risultato dello step precedente dalla cartella \u201cout\u201d (COPY &#8211;from=build \/app\/out\/. .). Quando l\u2019immagine finale sar\u00e0 eseguita, verr\u00e0 lanciato il comando&nbsp;<strong>dotnet<\/strong>&nbsp;con il file<strong>&nbsp;demo.dll<\/strong>&nbsp;come parametro, generato con il precedente comando publish (CMD dotnet demo.dll).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Siamo pronti a creare la nostra immagine con il seguente comando:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocker build -t demo:1.0.0 .\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Il risultato del comando \u00e8 il seguente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"501\" height=\"665\" data-attachment-id=\"28520\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/attachment\/image02-20\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-20.png?fit=501%2C665&amp;ssl=1\" data-orig-size=\"501,665\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image02-20\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-20.png?fit=501%2C665&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-20.png?resize=501%2C665&#038;ssl=1\" alt=\"\" class=\"wp-image-28520\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-20.png 501w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-20-480x637.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 501px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Possiamo eseguire l\u2019immagine creata per testarla con il comando:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocker run -it -p 80:80 demo:1.0.0\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Il risultato \u00e8 il seguente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"860\" height=\"470\" data-attachment-id=\"28523\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/attachment\/image03-18\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-18.png?fit=860%2C470&amp;ssl=1\" data-orig-size=\"860,470\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image03-18\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-18.png?fit=860%2C470&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-18.png?resize=860%2C470&#038;ssl=1\" alt=\"\" class=\"wp-image-28523\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-18.png 860w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-18-480x262.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Se l\u2019applicazione \u00e8 composta da pi\u00f9 di un container, il processo di deploy pu\u00f2 essere un po\u2019 pi\u00f9 complicato perch\u00e8 dobbiamo gestire le versioni di ogni container e le loro comunicazioni. Per svolgere queste attivit\u00e0, la soluzione migliore \u00e8 l\u2019uso di un orchestratore di container, e oggi questo significa Kubernetes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kubernetes, o K8s, \u00e8 un orchestratore di container open source creato da Google e oggi manutenuto dalla Cloud Native Computing Foundation. Potete usarlo nella vostra infrastruttura on-premise oppure con uno dei principali cloud provider come Microsoft, Google o Amazon. Una volta compresi i principi base e i componenti dietro Kubernetes, potete chiedergli di deployare i vostri container, scalarli come volete, connetterli sulla base dei vostri requisiti e della vostra strategia di sicurezza e aggiornare la vostra applicazione per rispondere al meglio ai vostri requisiti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se siete interessati a Docker, Kubernetes e .NET Core e volete una guida pratica per cominciare a lavorare con queste tecnologie, potete scaricare gratuitamente il libro che ho pubblicato per Syncfusion al link\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/www.syncfusion.com\/ebooks\/using-netcore-docker-and-kubernetes-succinctly\" target=\"_blank\">https:\/\/www.syncfusion.com\/ebooks\/using-netcore-docker-and-kubernetes-succinctly<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"502\" data-attachment-id=\"28525\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/attachment\/image04-16\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-16.png?fit=960%2C502&amp;ssl=1\" data-orig-size=\"960,502\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image04-16\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-16.png?fit=960%2C502&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-16.png?resize=960%2C502&#038;ssl=1\" alt=\"\" class=\"wp-image-28525\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-16.png 960w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-16-480x251.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 960px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ho scritto questo libro con il mio tipico approccio pratico, creando da zero un\u2019applicazione .NET Core che usa un database SQL Server, usando Docker sia per l\u2019ambiente di sviluppo che per quello di produzione. Dopo la creazione delle immagini, ho spiegato in dettaglio come deployare l\u2019applicazione su un cluster Kubernetes installato sulla propria macchina. Nell\u2019ultimo capitolo potrete leggere come deployare la stessa applicazione su cluster AKS (Azure Kubernetes Service), personalizzando il tipo di storage dei dati per usare le soluzioni offerte da Azure e sfruttare i tool di monitoraggio offerti dal Cloud Microsoft.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inoltre, se siete a Napoli il 26 Giugno, abbiamo organizzato insieme al Cloud Native Computing Foundation meetup di Napoli, una serata per stare insieme parlando di queste tecnologie, partendo da una sessione tecnica su Docker, Kubernetes e Azure. Tutti i dettagli qui:&nbsp;<a href=\"https:\/\/www.meetup.com\/it-IT\/cncfnapoli\/events\/261921731\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.meetup.com\/it-IT\/cncfnapoli\/events\/261921731\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Happy coding!<\/p>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Usare Docker e Kubernetes per deployare applicazioni .NET Core in produzione<\/p>\n","protected":false},"author":196716248,"featured_media":28515,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_crdt_document":"","inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[688637374],"tags":[688637414,688637545,688637462],"class_list":["post-28514","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-asp-net-core","tag-docker","tag-kubernetes"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>.NET Core, Docker e Kubernetes - Blexin<\/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:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\".NET Core, Docker e Kubernetes - Blexin\" \/>\n<meta property=\"og:description\" content=\"Usare Docker e Kubernetes per deployare applicazioni .NET Core in produzione\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/\" \/>\n<meta property=\"og:site_name\" content=\"Blexin\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-11T22:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-05-21T18:17:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"608\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Michele Aponte\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michele Aponte\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/\"},\"author\":{\"name\":\"Michele Aponte\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#\\\/schema\\\/person\\\/cdc5540c3b6edcacd8d760669e797005\"},\"headline\":\".NET Core, Docker e Kubernetes\",\"datePublished\":\"2019-06-11T22:00:00+00:00\",\"dateModified\":\"2021-05-21T18:17:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/\"},\"wordCount\":767,\"image\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&ssl=1\",\"keywords\":[\"Asp.net core\",\"Docker\",\"Kubernetes\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/\",\"url\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/\",\"name\":\".NET Core, Docker e Kubernetes - Blexin\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&ssl=1\",\"datePublished\":\"2019-06-11T22:00:00+00:00\",\"dateModified\":\"2021-05-21T18:17:43+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#\\\/schema\\\/person\\\/cdc5540c3b6edcacd8d760669e797005\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&ssl=1\",\"width\":1024,\"height\":608},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/net-core-docker-e-kubernetes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blexin.com\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\".NET Core, Docker e Kubernetes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/blexin.com\\\/it\\\/\",\"name\":\"Blexin\",\"description\":\"Con noi \u00e8 semplice\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blexin.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#\\\/schema\\\/person\\\/cdc5540c3b6edcacd8d760669e797005\",\"name\":\"Michele Aponte\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/32138aff568f2063b34d27a23cef27e09f3159bfcadea5ea05599c499cf4342f?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/32138aff568f2063b34d27a23cef27e09f3159bfcadea5ea05599c499cf4342f?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/32138aff568f2063b34d27a23cef27e09f3159bfcadea5ea05599c499cf4342f?s=96&d=identicon&r=g\",\"caption\":\"Michele Aponte\"},\"url\":\"https:\\\/\\\/blexin.com\\\/it\\\/author\\\/michele-aponteblexin-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":".NET Core, Docker e Kubernetes - Blexin","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:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/","og_locale":"it_IT","og_type":"article","og_title":".NET Core, Docker e Kubernetes - Blexin","og_description":"Usare Docker e Kubernetes per deployare applicazioni .NET Core in produzione","og_url":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/","og_site_name":"Blexin","article_published_time":"2019-06-11T22:00:00+00:00","article_modified_time":"2021-05-21T18:17:43+00:00","og_image":[{"width":1024,"height":608,"url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&ssl=1","type":"image\/png"}],"author":"Michele Aponte","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Michele Aponte","Tempo di lettura stimato":"4 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/#article","isPartOf":{"@id":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/"},"author":{"name":"Michele Aponte","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/cdc5540c3b6edcacd8d760669e797005"},"headline":".NET Core, Docker e Kubernetes","datePublished":"2019-06-11T22:00:00+00:00","dateModified":"2021-05-21T18:17:43+00:00","mainEntityOfPage":{"@id":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/"},"wordCount":767,"image":{"@id":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&ssl=1","keywords":["Asp.net core","Docker","Kubernetes"],"articleSection":["Blog"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/","url":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/","name":".NET Core, Docker e Kubernetes - Blexin","isPartOf":{"@id":"https:\/\/blexin.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/#primaryimage"},"image":{"@id":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&ssl=1","datePublished":"2019-06-11T22:00:00+00:00","dateModified":"2021-05-21T18:17:43+00:00","author":{"@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/cdc5540c3b6edcacd8d760669e797005"},"breadcrumb":{"@id":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/#primaryimage","url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&ssl=1","contentUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&ssl=1","width":1024,"height":608},{"@type":"BreadcrumbList","@id":"https:\/\/blexin.com\/it\/blog\/net-core-docker-e-kubernetes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blexin.com\/it\/"},{"@type":"ListItem","position":2,"name":".NET Core, Docker e Kubernetes"}]},{"@type":"WebSite","@id":"https:\/\/blexin.com\/it\/#website","url":"https:\/\/blexin.com\/it\/","name":"Blexin","description":"Con noi \u00e8 semplice","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blexin.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/cdc5540c3b6edcacd8d760669e797005","name":"Michele Aponte","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/32138aff568f2063b34d27a23cef27e09f3159bfcadea5ea05599c499cf4342f?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/32138aff568f2063b34d27a23cef27e09f3159bfcadea5ea05599c499cf4342f?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/32138aff568f2063b34d27a23cef27e09f3159bfcadea5ea05599c499cf4342f?s=96&d=identicon&r=g","caption":"Michele Aponte"},"url":"https:\/\/blexin.com\/it\/author\/michele-aponteblexin-com\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/3954d64b-7e17-41bc-be9f-0752eca4460a.png?fit=1024%2C608&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pcyUBx-7pU","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/28514","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/users\/196716248"}],"replies":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/comments?post=28514"}],"version-history":[{"count":4,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/28514\/revisions"}],"predecessor-version":[{"id":28528,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/28514\/revisions\/28528"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/media\/28515"}],"wp:attachment":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/media?parent=28514"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/categories?post=28514"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/tags?post=28514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}