{"id":36772,"date":"2019-10-31T22:13:44","date_gmt":"2019-10-31T19:13:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ponimaya-docker\/"},"modified":"2019-10-31T22:13:44","modified_gmt":"2019-10-31T19:13:44","slug":"ponimaya-docker","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ponimaya-docker","title":{"rendered":"Capire Docker","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Da diversi mesi utilizzo docker per strutturare il processo di sviluppo\/consegna di progetti web. Propongo ai lettori di \u00ab\u0425\u0430\u0431\u0440\u0430\u0445\u0430\u0431\u0440\u0430\u00bb la traduzione di un articolo introduttivo su docker \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/introduction\/understanding-docker\/\">\u00abUnderstanding docker\u00bb<\/a><\/noindex>.<\/i><\/p>\n<h3>Cos'\u00e8 Docker?<\/h3>\n<p>\nDocker \u00e8 una piattaforma aperta per lo sviluppo, la consegna e l'esecuzione di applicazioni. Docker \u00e8 progettato per rilasciare pi\u00f9 rapidamente le vostre applicazioni. Con docker \u00e8 possibile separare la vostra applicazione dalla vostra infrastruttura e trattare l'infrastruttura come un'applicazione gestita. Docker aiuta a rilasciare il codice pi\u00f9 velocemente, a testare pi\u00f9 velocemente, a distribuire le applicazioni e a ridurre il tempo tra la scrittura del codice e il suo avvio. Docker lo fa attraverso una piattaforma leggera di virtualizzazione dei container, utilizzando processi e strumenti che aiutano a gestire e rilasciare le vostre applicazioni.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNel suo nucleo, docker consente di eseguire praticamente qualsiasi applicazione, isolata in modo sicuro in un container. L'isolamento sicuro consente di eseguire pi\u00f9 container contemporaneamente su un solo host. La natura leggera del container, che viene eseguito senza il sovraccarico di un hypervisor, consente di ottenere di pi\u00f9 dall'hardware.<\/p>\n<p>La piattaforma e gli strumenti di virtualizzazione dei container possono essere utili nei seguenti casi:<\/p>\n<ul>\n<li>imballare la vostra applicazione (e anche i componenti utilizzati) in container docker;<\/li>\n<li>distribuire e fornire questi container ai vostri team per lo sviluppo e il testing;<\/li>\n<li>distribuire questi container nei vostri ambienti di produzione, sia nei data center che nei cloud.<\/li>\n<\/ul>\n<p><\/p>\n<h3>A cosa posso utilizzare docker?<\/h3>\n<p><\/p>\n<h4>Distribuzione rapida delle vostre applicazioni<\/h4>\n<p>\nDocker \u00e8 perfetto per organizzare il ciclo di sviluppo. Docker consente agli sviluppatori di utilizzare container locali con applicazioni e servizi. Questo consente di integrarsi nel processo di integrazione continua e distribuzione.<\/p>\n<p>Ad esempio, i vostri sviluppatori scrivono codice localmente e condividono il proprio stack di sviluppo (set di immagini docker) con i colleghi. Quando sono pronti, inviano il codice e i container all'ambiente di test e avviano i test necessari. Dall'ambiente di test possono inviare il codice e le immagini in produzione.<\/p>\n<h4>Distribuzione e implementazione pi\u00f9 semplici<\/h4>\n<p>\nUna piattaforma basata su container Docker consente di portare facilmente il tuo carico utile. I container Docker possono funzionare sulla tua macchina locale, sia reale che virtuale nel data center, cos\u00ec come nel cloud.<\/p>\n<p>La portabilit\u00e0 e la leggerezza di Docker permettono di gestire dinamicamente il tuo carico utile con facilit\u00e0. Puoi utilizzare Docker per distribuire o arrestare la tua applicazione o i tuoi servizi. La velocit\u00e0 di Docker consente di farlo quasi in tempo reale.<\/p>\n<h4>Carichi elevati e pi\u00f9 carichi utili<\/h4>\n<p>\nDocker \u00e8 leggero e veloce. Offre un'alternativa sostenibile ed economica alle macchine virtuali basate su hypervisor. \u00c8 particolarmente utile in contesti di carico elevato, ad esempio, per creare il tuo cloud o una piattaforma come servizio (platform-as-service). Ma \u00e8 anche utile per applicazioni piccole e medie, quando desideri ottenere di pi\u00f9 dalle risorse disponibili.<\/p>\n<h3>Componenti principali di Docker<\/h3>\n<p>\nDocker \u00e8 composto da due componenti principali:<\/p>\n<ul>\n<li>Docker: piattaforma di virtualizzazione open source;<\/li>\n<li>Docker Hub: la nostra piattaforma come servizio per distribuire e gestire container Docker.<\/li>\n<\/ul>\n<p>\n<i>Nota! Docker \u00e8 distribuito con licenza Apache 2.0.<\/i><\/p>\n<h3>Architettura di Docker<\/h3>\n<p><\/p>\n<p>Docker utilizza un'architettura client-server. Il client Docker comunica con il demone Docker, che si occupa del peso della creazione, esecuzione e distribuzione dei tuoi container. Entrambi, client e server, possono funzionare su un unico sistema, puoi connettere il client a un demone Docker remoto. Client e server comunicano tramite socket o tramite RESTful API.<\/p>\n<p><img decoding=\"async\" alt=\"Capire Docker\" src=\"\/wp-content\/uploads\/2019\/08\/eb67e625e776737163e49a41829ed102.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Demone Docker<\/h4>\n<p>\nCome mostrato nel diagramma, il demone \u00e8 avviato sulla macchina host. L'utente non interagisce direttamente con il server, ma utilizza il client per farlo.<\/p>\n<h4>Client Docker<\/h4>\n<p>\nIl client Docker, il programma Docker, \u00e8 l'interfaccia principale per Docker. Riceve comandi dall'utente e interagisce con il demone Docker.<\/p>\n<h4>All'interno di Docker<\/h4>\n<p>\nPer capire di cosa \u00e8 composto Docker, \u00e8 necessario conoscere tre componenti:<\/p>\n<ul>\n<li>immagini (images)<\/li>\n<li>registri (registries)<\/li>\n<li>container<\/li>\n<\/ul>\n<h4>Immagini<\/h4>\n<p>\nL'immagine Docker \u00e8 un template di sola lettura. Ad esempio, un'immagine pu\u00f2 contenere il sistema operativo Ubuntu con Apache e un'applicazione. Le immagini vengono utilizzate per creare contenitori. Docker consente di creare facilmente nuove immagini, aggiornare quelle esistenti o scaricare immagini create da altre persone. Le immagini sono un componente della costruzione di Docker.<\/p>\n<h4>Registry<\/h4>\n<p>\nIl registro Docker memorizza le immagini. Ci sono registri pubblici e privati, da cui \u00e8 possibile scaricare o caricare immagini. Il registro Docker pubblico \u00e8 <noindex><a rel=\"nofollow\" href=\"http:\/\/hub.docker.com\/\">Docker Hub<\/a><\/noindex>. Qui si trova un'enorme collezione di immagini. Come sapete, le immagini possono essere create da voi o potete utilizzare immagini create da altre persone. I registri sono un componente della distribuzione.<\/p>\n<h4>Contenitori<\/h4>\n<p>\nI contenitori somigliano a directory. In un contenitore c'\u00e8 tutto ci\u00f2 che serve per far funzionare un'applicazione. Ogni contenitore \u00e8 creato a partire da un'immagine. I contenitori possono essere creati, avviati, fermati, trasferiti o eliminati. Ogni contenitore \u00e8 isolato e costituisce una piattaforma sicura per l'applicazione. I contenitori sono un componente del funzionamento.<\/p>\n<h4>Come funziona Docker?<\/h4>\n<p>\nFino ad ora sappiamo che:<\/p>\n<ul>\n<li>possiamo creare immagini che contengono le nostre applicazioni;<\/li>\n<li>possiamo creare contenitori da immagini per eseguire applicazioni;<\/li>\n<li>possiamo distribuire immagini tramite Docker Hub o un altro registro di immagini.<\/li>\n<\/ul>\n<p>\nVediamo come si combinano questi componenti.<\/p>\n<h4>Come funziona un'immagine?<\/h4>\n<p>\nSappiamo gi\u00e0 che l'immagine \u00e8 un template di sola lettura da cui si crea un contenitore. Ogni immagine \u00e8 composta da una serie di livelli. Docker utilizza <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/UnionFS\">il file system unione<\/a><\/noindex> per combinare questi livelli in un'unica immagine. Il file system unione consente a file e directory provenienti da diversi file system (diverse branche) di sovrapporsi in modo trasparente, creando un file system coerente.<\/p>\n<p>Uno dei motivi per cui Docker \u00e8 leggero \u00e8 l'uso di tali livelli. Quando si modifica un'immagine, ad esempio, aggiornando un'applicazione, viene creato un nuovo livello. Cos\u00ec, senza sostituire l'intera immagine o ricostruirla, come si potrebbe dover fare con una macchina virtuale, viene solo aggiunto o aggiornato il livello. E non \u00e8 necessario distribuire l'intera nuova immagine, viene distribuito solo l'aggiornamento, il che rende pi\u00f9 semplice e veloce la distribuzione delle immagini.<\/p>\n<p>Alla base di ogni immagine c'\u00e8 un'immagine di base. Ad esempio, ubuntu, immagine di base di Ubuntu, o fedora, immagine di base della distribuzione Fedora. Puoi anche utilizzare le immagini come base per crearne di nuove. Ad esempio, se hai un'immagine apache, puoi usarla come immagine di base per le tue applicazioni web.<\/p>\n<p><i>Nota! Docker di solito prende le immagini dal registro Docker Hub.<\/i><\/p>\n<p>Le immagini Docker possono essere create da queste immagini di base, i passaggi per creare queste immagini vengono chiamati istruzioni. Ogni istruzione crea una nuova immagine o livello. Le istruzioni includeranno le seguenti azioni:<\/p>\n<p><\/p>\n<ul>\n<li>esecuzione di un comando<\/li>\n<li>aggiunta di un file o una directory<\/li>\n<li>creazione di una variabile d'ambiente<\/li>\n<li>indicazione di cosa eseguire quando viene avviato il contenitore di questa immagine<\/li>\n<\/ul>\n<p>Queste istruzioni sono memorizzate in un file <code>Dockerfile<\/code>. Docker legge questo <code>Dockerfile<\/code>, quando costruisci l'immagine, esegue queste istruzioni e restituisce l'immagine finale.<\/p>\n<h4>Come funziona il registro docker?<\/h4>\n<p>\nIl registro \u00e8 uno storage di immagini docker. Dopo aver creato un'immagine, puoi pubblicarla su un registro pubblico Docker Hub o su un registro personale.<\/p>\n<p>Con il client docker puoi cercare immagini gi\u00e0 pubblicate e scaricarle sulla tua macchina con docker per creare contenitori.<\/p>\n<p>Docker Hub fornisce repository pubblici e privati di immagini. La ricerca e il download delle immagini dai repository pubblici sono disponibili per tutti. Il contenuto dei repository privati non appare nei risultati di ricerca. Solo tu e i tuoi utenti potete ottenere queste immagini e creare contenitori da esse.<\/p>\n<h4>Come funziona un contenitore?<\/h4>\n<p>\nUn contenitore \u00e8 composto da un sistema operativo, file utente e metadati. Come sappiamo, ogni contenitore \u00e8 creato da un'immagine. Quest'immagine indica a docker cosa c'\u00e8 nel contenitore, quale processo avviare quando viene avviato il contenitore e altre informazioni di configurazione. L'immagine Docker \u00e8 disponibile solo in lettura. Quando docker avvia un contenitore, crea un livello di lettura\/scrittura sopra l'immagine (utilizzando il sistema di file unione, come indicato in precedenza), in cui pu\u00f2 essere eseguita un'applicazione.<\/p>\n<h4>Cosa succede quando viene avviato un contenitore?<\/h4>\n<p>\nO tramite il programma <code>docker<\/code>, o tramite API RESTful, il client docker dice al demone docker di avviare il contenitore.<\/p>\n<p><code>$ sudo docker run -i -t ubuntu \/bin\/bash<br \/>\n<\/code><br \/>\nAnalizziamo questo comando. Il client viene avviato con il comando <code>docker<\/code>, con l'opzione <code>run<\/code>, che dice che verr\u00e0 lanciato un nuovo contenitore. I requisiti minimi per l'avvio del contenitore sono i seguenti attributi:<\/p>\n<ul>\n<li>quale immagine utilizzare per creare il contenitore. Nel nostro caso <code>ubuntu<\/code><\/li>\n<li>il comando che desideri eseguire quando il contenitore verr\u00e0 avviato. Nel nostro caso <code>\/bin\/bash<\/code><\/li>\n<\/ul>\n<p>Cosa succede sotto il cofano quando eseguiamo questo comando?<\/p>\n<p>Docker, in ordine, fa quanto segue:<\/p>\n<ul>\n<li><b>scarica l'immagine ubuntu:<\/b> docker verifica la presenza dell'immagine <code>ubuntu<\/code> sulla macchina locale, e se non \u00e8 presente \u2014 la scarica da <noindex><a rel=\"nofollow\" href=\"https:\/\/hub.docker.com\/\">Docker Hub<\/a><\/noindex>. Se l'immagine \u00e8 presente, la utilizza per creare il contenitore;<\/li>\n<li><b>crea il contenitore:<\/b> quando l'immagine \u00e8 stata ricevuta, docker la utilizza per creare il contenitore;<\/li>\n<li><b>inizializza il file system e monta il livello di sola lettura:<\/b> il contenitore \u00e8 stato creato nel file system e il livello di sola lettura \u00e8 stato aggiunto all'immagine;<\/li>\n<li><b>inizializza la rete\/ponte:<\/b> crea un'interfaccia di rete che consente a docker di comunicare con la macchina host;<\/li>\n<li><b>Imposta l'indirizzo IP:<\/b> trova e imposta l'indirizzo;<\/li>\n<li><b>Avvia il processo specificato:<\/b> avvia la tua applicazione;<\/li>\n<li><b>Gestisce e fornisce l'output della tua applicazione:<\/b> si collega e registra l'input standard, l'output e il flusso di errori della tua applicazione, in modo da poter monitorare come funziona la tua applicazione.<\/li>\n<\/ul>\n<p>\nOra hai un contenitore funzionante. Puoi gestire il tuo contenitore, interagire con la tua applicazione. Quando decidi di fermare l'applicazione, elimina il contenitore.<\/p>\n<h3>Tecnologie utilizzate<\/h3>\n<p>\nDocker \u00e8 scritto in Go e utilizza alcune funzionalit\u00e0 del kernel Linux per implementare la funzionalit\u00e0 sopra descritta.<\/p>\n<h4>Namespace<\/h4>\n<p>\nDocker utilizza la tecnologia <code>namespace<\/code> per organizzare spazi di lavoro isolati, che chiamiamo contenitori. Quando avviamo un contenitore, docker crea un insieme di namespace per quel contenitore.<\/p>\n<p>Questo crea un livello isolato, ogni aspetto del contenitore viene eseguito nel proprio namespace, e non ha accesso al sistema esterno.<\/p>\n<p>Ecco un elenco di alcuni namespace utilizzati da docker:<\/p>\n<ul>\n<li><b>pid:<\/b> per l'isolamento dei processi;<\/li>\n<li><b>net:<\/b> per gestire le interfacce di rete;<\/li>\n<li><b>ipc:<\/b> per gestire le risorse IPC. (ICP: InterProcess Communication);<\/li>\n<li><b>mnt:<\/b> per gestire i punti di montaggio;<\/li>\n<li><b>utc:<\/b> per isolare il kernel e controllare la generazione di versioni (UTC: Unix timesharing system).<\/li>\n<\/ul>\n<h4>Gruppi di controllo<\/h4>\n<p>\nDocker utilizza anche la tecnologia <code>cgroups<\/code> o gruppi di controllo. La chiave per far funzionare l'applicazione in isolamento, fornendo all'applicazione solo le risorse che desideri fornire. Questo garantisce che i container siano buoni vicini. I gruppi di controllo consentono di dividere le risorse hardware disponibili e, se necessario, impostare limiti e restrizioni. Ad esempio, limitare la quantit\u00e0 massima di memoria per un container.<\/p>\n<h4>Union File System<\/h4>\n<p>\nIl Union File System o UnionFS \u00e8 un filesystem che funziona creando livelli, rendendolo molto leggero e veloce. Docker utilizza UnionFS per creare i blocchi da cui si costruisce un container. Docker pu\u00f2 utilizzare diverse varianti di UnionFS, tra cui: AUFS, btrfs, vfs e DeviceMapper.<\/p>\n<h4>Formati dei container<\/h4>\n<p>\nDocker combina questi componenti in un contenitore, che chiamiamo formato del container. Il formato utilizzato per impostazione predefinita si chiama <code>libcontainer<\/code>. Docker supporta anche il formato tradizionale dei container in Linux tramite <noindex><a rel=\"nofollow\" href=\"http:\/\/linuxcontainers.org\">LXC<\/a><\/noindex>. In futuro, Docker potrebbe supportare altri formati di container. Ad esempio, integrandosi con BSD Jails o Solaris Zones.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/253877\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e docker \u0434\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438\/\u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f\u043c \u00ab\u0425\u0430\u0431\u0440\u0430\u0445\u0430\u0431\u0440\u0430\u00bb \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0432\u0432\u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e docker \u2014 \u00abUnderstanding docker\u00bb. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0434\u043e\u043a\u0435\u0440? \u0414\u043e\u043a\u0435\u0440 \u2014 \u044d\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. Docker \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e docker \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0442 \u0432\u0430\u0448\u0435\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36772","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0423\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e docker \u0434\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438\/\u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ponimaya-docker\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u043e\u043d\u0438\u043c\u0430\u044f Docker | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0423\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e docker \u0434\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438\/\u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ponimaya-docker\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:13:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:13:44+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Capire Docker | ProHoster","description":"Utilizzo Docker da diversi mesi per organizzare il processo di sviluppo\/consegna dei progetti web.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ponimaya-docker","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u043e\u043d\u0438\u043c\u0430\u044f Docker | ProHoster","og:description":"\u0423\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e docker \u0434\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438\/\u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ponimaya-docker","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:13:44+00:00","article:modified_time":"2019-10-31T19:13:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36772","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 04:47:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:39:22","updated":"2026-01-22 04:47:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/36772","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=36772"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/36772\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=36772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=36772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=36772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}