Sistemi di Virtualizzazione Container-Based: Docker

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sistemi di Virtualizzazione Container-Based: Docker"

Transcript

1 Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Reti di Calcolatori I Sistemi di Virtualizzazione Container-Based: Docker Anno Accademico 2014/2015 Candidato: Francesco Santonastaso matr. N46/1869

2 [Dedica]

3 Indice Indice... III Introduzione... 4 Capitolo 1: La Virtualizzazione L Hypervisor Le Tipologie di Virtualizzazione con o senza Hypervisor La Virtualizzazione Container Based: Cos è e come funziona Container e Macchine Virtuali: Differenze I Vantaggi dell uso dei Container Capitolo 2: Docker Cos è Docker Perché Docker L Architettura di Docker Come funziona Docker Come funziona un immagine Docker Come funziona un registro Docker Come funziona un contenitore Docker Cosa succede quando un Container viene eseguito La tecnologia alla base di Docker I Namespaces Control Groups Union file systems Il formato dei Container La sicurezza di Docker Capitolo 3:Installazione ed esempi di utilizzo di Docker Prerequisiti Installazione Configurazione di Docker su Ubuntu Creare un Docker Group Regolare la Memoria e utilizzare lo Swap Accounting Configurare UFW (Uncomplicated Firewall) Configurare un server DNS per l utilizzo in Docker Configurare Docker per l avvio in fase di boot Aggiornare o Disinstallare Docker Configurazione di un database Riak in un immagine Docker Conclusioni Bibliografia Ringraziamenti... 40

4 Introduzione Virtualizzare è una pratica talmente diffusa oggi che è diventata quasi indispensabile per gli enormi vantaggi e le implicazioni positive che ha in tanti aspetti e in tutti gli ambienti in cui è utilizzata. La possibilità di astrarre componenti hardware degli elaboratori con lo scopo di renderle disponibili al software in forma di risorsa virtuale ha portato enormi vantaggi alla razionalizzazione e l ottimizzazione delle risorse hardware grazie ai meccanismi di distribuzione delle risorse disponibili sulla piattaforma fisica. Tramite questo processo è infatti possibile ottenere macchine virtuali, cioè software che attraverso un processo di virtualizzazione creano un ambiente virtuale che emula il comportamento di una macchina fisica grazie all assegnazione di risorse hardware, che possono girare contemporaneamente su un sistema fisico condividendo le risorse della piattaforma. Le eventuali contese di risorse vengono gestite dal software di virtualizzazione che si occupa della gestione dell ambiente. Uno dei vantaggi è proprio il fatto di poter offrire contemporaneamente ed efficientemente a più utenti diversi ambienti operativi separati, ciascuno attivabile su richiesta, senza andare ad intaccare il sistema fisico reale con il partizionamento del disco rigido oppure fornire ambienti clusterizzati su sistemi server. Infatti, lato server, le tecnologie di virtualizzazione vengono utilizzate per disporre di un certo numero di sistemi operativi su un numero minore di piattaforme hardware, spesso anche in configurazione cluster di ridondanza o di load balancing. Questo testo si propone l obiettivo di illustrare in una prima parte le varie tecniche di 4

5 virtualizzazione entrando nello specifico della tecnica di Virtualizzazione Container Based per poi focalizzarsi in una seconda parte su Docker, uno degli applicativi più interessanti degli ultimi anni che è forse la prima vera piattaforma che mette ordine nel caos dei container Linux-Based e rende accessibile in modo semplice e pratico, la tecnologia di virtualizzazione a livello Sistema Operativo agli sviluppatori. Docker sta infatti avendo un discreto successo, confermato da diverse testate IT, perché, in ambito cloud e virtualizzazione, sta trovando un enorme interesse e sembra gradito da una folta schiera di utenti. 5

6 Capitolo 1: La Virtualizzazione Abbiamo già detto nella nostra introduzione che con il termina virtualizzazione possiamo indicare un processo di astrazione per il quale le componenti hardware deli elaboratori vengono resi disponibili ai vari software nella forma di risorsa virtuale permettendoci o di installare sistemi operativi su hardware virtuale o di utilizzare sullo stesso sistema operativo varie istanze dello stesso. Andremo ora a riprendere il concetto in questo capitolo andando a fare chiarezza tra le diverse tipologie che esistono di questa tecnica soffermandoci in particolare sulla virtualizzazione Container Based e sulle implicazioni positive che essa può avere. 1.1 L Hypervisor Il componente software che consente l interfacciamento della macchina virtuale con la piattaforma su cui esso risiede è chiamato Virtual Machine Monitor o Hypervisor e ne esistono due tipologie. La tipologia Native, nativa, in cui l Hypervisor è in esecuzione direttamente sull hardware, consentendone il controllo diretto per offrire le funzionalità di virtualizzazione. Individua pertanto un livello di separazione tra il sistema operativo e la piattaforma fisica. Un esempio è Hyper-V della Microsoft. L Hypervisor prevede che l esecuzione dei diversi sistemi operativi nei rispettivi ambienti sia completamente isolata. Uno degli ambienti, o partizioni, deve contenere obbligatoriamente il sistema operativo host il quale è in grado di creare partizioni figlie con i relativi sistemi operativi guest. Tali sistemi sono quindi direttamente in esecuzione sull Hypervisor. La tipologia Hosted, ospitata, è quella in cui l Hypervisor è in esecuzione sul sistema operativo host, il quale risiede a sua volta sulla piattaforma fisica. Risulta efficace nelle situazioni in cui si 6

7 desideri accesso immediato sia al sistema operativo host, solitamente il sistema operativo desktop dell utente, che al guest. Prevede servizi di supporto per la virtualizzazione ma si affida al sistema host per quanto concerne gestione della memoria, allocazione delle risorse, scheduling e driver dei dispositivi. Esempi conosciuti di Hypervisor appartenenti a questa categoria sono VMware e VirtualBox Le Tipologie di Virtualizzazione con o senza Hypervisor Esistono diverse tipologie di virtualizzazione hardware che non sono necessariamente basate su Hypervisor e va fatta una distinzione tra quelle che ne fanno o meno uso. Le tipologie di virtualizzazione basate su Hypervisor sono: Virtualizzazione Completa: L Hypervisor virtualizza completamente l hardware (memoria, CPU, rete ecc.) garantendo di conseguenza piena compatibilità con un qualsiasi sistema operativo che supporti l infrastruttura fisica virtuale. I sistemi guest e host sono completamente isolati. I famosi Hyper-V, VMware e VirtualBox garantiscono compatibilità con tale tipologia di virtualizzazione. Virtualizzazione Hardware Assistita: E conosciuta anche con le espressioni hardware virtual machine o native virtualization. Si tratta di un approccio full virtualization esteso, in cui il processore prevede il supporto architetturale per facilitare la costruzione dell Hypervisor e per inoltrare diverse chiamate del sistema operativo guest direttamente all hardware fisico, aumentando le performance globali del sistema. Gli Hypervisor Xen, Vmware, VirtualBox e Hyper-V sono compatibili con tale tecnologia. Paravirtualizzazione: L Hypervisor non simula l hardware ma ne espone una interfaccia modificata funzionalmente simile a quella reale. L interfaccia si concretizza in un insieme di API denominate Virtual Hardware API, le quali sono progettate nell ottica di un uso specifico da parte di una macchina virtuale. L assenza di emulazione hardware si traduce in maggiori performance, tuttavia i sistemi operativi guest necessitano di modifiche per garantire la compatibilità con l interfaccia virtuale, individuando una minore flessibilità nella soluzione. 7

8 L Hypervisor Xen è compatibile con tale approccio. La tipologia di virtualizzazione non basata sull Hypervisor è la Virtualizzazione a Livello Sistema Operativo o Container Based, basata su contenitore. Questa soluzione prevede un sistema operativo host centrale condiviso, dotato di un kernel opportunamento modificato. I sistemi operativi guest, chiamati anche containers o virtual private servers (VPS), devono essere necessariamente dello stesso tipo dell host. Le funzionalità sono quindi replicate senza la necessità di effettuare onerose chiamate di sistema tra i diversi layer. Esempi di sistemi operativi host compatibili con tale tipologia di virtualizzazione sono Linux e Solaris. 1.2 La Virtualizzazione Container Based: Cos è e come funziona Perché virtualizzare un intera macchina, quando sarebbe possibile virtualizzare solamente una piccolo parte di essa? Da quest idea gli sviluppatori hanno cominciato a trovare delle strade alternative alla virtualizzazione completa e la stessa Google, confrontandosi con questo problema, ha sviluppato un aggiunta al kernel Linux chiamata cgroups, che ha permesso al team di sviluppo californiano di rilasciare software in maniera più veloce, più economica e con una scalabilità senza precedenti. Con cgroups, Google era riuscita a creare un contesto di esecuzione isolato, con un alto 8

9 livello di astrazione, tanto da imporsi come una sorta di sistema operativo semplificato e virtualizzato che soggiace alla base di tutte le applicazioni sviluppate da Mountain View. Dopo pochi anni, la volontà di rendere questa tecnologia uno standard, ha condotto il team di Docker a sviluppare un formato di contenierizzazione interoperabile, capace di pacchettizzare le applicazioni ed effettuarne il rilascio in qualsiasi ambiente di esecuzione, senza doversi preoccupare delle condizioni di eseguibilità. La contenierizzazione, quindi, può essere considerata figlia della virtualizzazione, da cui si evolve in una nuova generazione che introduce migliorie di non poco conto. La Base per i Container: cgroups cgroups, abbreviazione di Gruppi di Controllo, è, come già detto, un Kernel Linux sviluppato dagli ingegneri di Google (sopratutto Paul Menage e Rohit Seth) che limita e isola l utilizzo delle risorse (CPU, memoria, disco, input/output, rete, ecc.) di un insieme di processi dello stesso sistema operativo. Inizialmente nel 2006 il progetto si chiamava process containers, contenitori di processo ma visto il significato ambiguo che poteva avere nel contesto del Kernel Linux la parola contenitore, il nome è stato cambiato in gruppi di controllo, cgroups. Uno degli obiettivi di progettazione di cgroups é quello di fornire un interfaccia unificata per diversi casi d uso, dal controllare singoli processi fino alla virtualizzazione a livello del sistema operativo. Cgroups prevede: Limitazione delle Risorse: i gruppi possono essere impostati per non superare un limite di memoria configurato comprendente anche la cache del file system. Gestione Priorità: Alcuni gruppi possono ottenere una maggiore quota di utilizzo della CPU o dei dispositivi di Input/Output. Accounting: Misurazione di quante risorse utilizzano alcuni sistemi. Controllo: Il congelamento di gruppi di processi e controllare i loro punti di arresto e riavvio. Un gruppo di controllo è un insieme di processi che sono accomunati dagli stessi criteri. Questi gruppi possono essere gerarchici, ogni gruppo può ereditare i limiti di utilizzo dal 9

10 gruppo padre. Il kernel fornisce l accesso a più controllori (sottosistemi) attraverso l interfaccia cgroup; per esempio, la memoria del controller limita l utilizzo della memoria, cpuacct spiega l utilizzo della CPU, ecc. I gruppi possono essere utilizzati in diversi modi: o Accedendo manualmente al file system virtuale cgroup; o Con la creazione e gestione di gruppi al volo utilizzando strumenti come cgcreate, cgexec e cgclassify (da libcgroup); o Attraverso un motore di regole che può spostare automaticamente i processi di alcuni utenti, gruppi o comandi a cgroups come specificato nella sua configurazione; o Indirettamente, mediante altro software che utilizza cgroups, come Docker, Linux Containers (LXC), libvirt, systemd, Open Grid Scheduler e Google Imctfy. Tutti i dettagli tecnici della configurazione e dell utilizzo dei gruppi di controllo sono contenute nella documentazione kernel di Linux. 1.3 Container e Macchine Virtuali: Differenze Rispetto ad una macchina virtualizzata, un container è capace di offrire: Un rilascio delle applicazioni semplificato: impacchettando un applicazione in un singolo componente distribuibile e configurabile con una sola linea di comando, la tecnologia a container permette di semplificare il rilascio di qualsiasi applicazione, senza doversi preoccupare della configurazione dell ambiente di runtime; Una disponibilità rapida: virtualizzando ed astraendo solo il sistema operativo e le componenti necessarie all esecuzione dell applicazione, invece che l intera macchina, l intero package si avvia in un ventesimo di secondo, rispetto ai tempi di avvio di una Virtual Machine; Un controllo più granulare: i container consentono agli operatori e agli sviluppatori di suddividere ulteriormente le risorse computazionali in microservizi, garantendo cosi un controllo superiore sull eseguibilità delle applicazioni e un miglioramento delle prestazioni dell intero sistema. 10

11 1.4 I Vantaggi dell uso dei Container Le caratteristiche proprie della tecnologia dei container portano ad alcuni vantaggi indiscutibili: 1. Il vantaggio forse più ovvio è l opportunità per gli sviluppatori di possedere una miriade di container anche sul proprio PC o laptop, per avere sempre a portata di mano un ambiente di rilascio o test adatto a ciascuna applicazione in sviluppo. Per quanto sia possibile eseguire anche su un laptop diverse vitual machine, questa operazione non è mai veloce e semplice e impatta non poco sulle prestazioni; 2. L amministrazione dei cicli di rilascio delle applicazioni è semplificata in quanto distribuire una nuova versione di un container è pari al tempo speso per digitare in console una singola linea di comando; 3. Le attività di testing traggono un beneficio economico notevole da un ambiente che utilizza la tecnologia di virtualizzazione basata sui container. Con un container è infatti possibile effettuare una serie di semplici test programmati in modo giornaliero mantenendo costante il costo, in quanto si userebbero sempre le stesse risorse di calcolo; 4. Non possiamo poi ignorare la componibilità dei sistemi applicativi, specialmente per applicazioni open source. In pratica, invece di obbligare gli sviluppatori a installare e configurare i servizi MySQL, memcached, MongoDB, nginx, node.js e altri, per avere la giusta piattaforma esecutiva per le proprie applicazioni, sarebbe meno rischioso e più veloce avviare ed eseguire con piccoli script quei pochi container che ospitano queste stesse applicazioni. Sul lungo periodo, il più importante vantaggio che questa tecnologia promette è la portabilità e la consistenza di un formato che consente l esecuzione applicativa su diversi host. Infatti, con la standardizzazione dei container, i workload possono essere facilmente spostati li dove vengono eseguiti in modo più economico e veloce, evitando anche i lockin dovuti alle peculiarità delle piattaforme dei singoli provider. 11

12 Capitolo 2: Docker La virtualizzazione Container-Based ha avuto la sua svolta quando sul mercato è stato lanciato Docker che ha praticamente automatizzato il processo di creazione di contenitori su piattaforma Linux e ha permesso quindi ad un utenza più ampia di osservare le potenzialità e di usufruire dei vantaggi della virtualizzazione Container-Based. In questo capitolo andremo a capire cos è Docker andando nel dettaglio delle sue componenti e del suo modo di operare. 2.1 Cos è Docker (figura 2: Il Logo di Docker) Docker è una piattaforma per lo sviluppo, il trasporto, e l'esecuzione di applicazioni ed è progettata per fornire applicazioni più velocemente. Con Docker è possibile separare le applicazioni dall'infrastruttura e curare l'infrastruttura come un'applicazione gestita. Aiuta infatti a condividere codice più velocemente, a testarlo più velocemente, ad implementarlo velocemente e ad abbreviare il ciclo tra la scrittura e l esecuzione del codice. Docker fa ciò combinando una piattaforma contenitore di virtualizzazione leggera con i flussi di lavoro e i tools che consentono di gestire e distribuire le applicazioni, fornendo infatti al suo interno dei metodi per eseguire quasi tutte le applicazioni isolate in modo sicuro nel contenitore. L'isolamento e la sicurezza consentono di eseguire molti contenitori contemporaneamente sul sistema host mentre la leggerezza dei contenitori, che eseguiti 12

13 senza il carico extra di un hypervisor, permette di ottenere di più dal proprio hardware. Attorno alla virtualizzazione basata su container ci sono dei tools e una piattaforma che può aiutare l utente in diversi modi: Ottenimento delle applicazioni (e dei componenti di supporto) in contenitori Docker; Distribuzione e trasporto di quei contenitori per i team di sviluppo per un ulteriore sviluppo e test; Distribuzione di tali applicazioni nell ambiente di produzione, sia che si tratti di un centro di dati locali sia che si tratti di un centro di dati in Cloud. 2.2 Perché Docker Andiamo ad analizzare ora i motivi per cui bisognerebbe utilizzare Docker per sviluppare le proprie applicazioni. Docker offre una consegna delle applicazioni più veloce infatti i Contenitori Docker, e il flusso di lavoro derivato da essi, aiutano gli sviluppatori, amministratori di sistema, i releasers a lavorare insieme per avere il codice in produzione e renderlo utile nel minor tempo possibile. E stato creato infatti un formato contenitore standard che consente agli sviluppatori di preoccuparsi delle loro applicazioni all interno dei container mentre gli amministratori di sistema e gli altri operatori possono lavorare sulla gestione del contenitore nella distribuzione. Questa separazione dei compiti semplifica la gestione e la distribuzione del codice. Docker è perfetto per offrire agli sviluppatori un aiuto concreto nel ciclo di sviluppo, infatti, permette di sviluppare su contenitori locali che contengono applicazioni e servizi. E quindi possibile integrare un flusso di lavoro e un implementazione continua. Ad esempio, gli sviluppatori possono scrivere codice a livello locale e condividere il loro stack di sviluppo attraverso Docker con i loro colleghi. Quando sono pronti, mettono il loro codice e lo stack che stanno sviluppando su un ambiente di prova ed eseguono i test richiesti. Dall ambiente di test e quindi possibile mettere il codice in produzione ed eseguirlo. Costruendo di volta in volta nuovi contenitori in modo semplice grazie a Docker viene 13

14 consentita un iterazione rapida delle applicazioni aumentando la visibilità delle modifiche e aiutando tutti gli utenti a capire come funziona e come è fatta un applicazione e grazie anche alla leggerezza e velocità dei container si riduce il tempo del ciclo di sviluppo, test ed implementazione dell applicazione. Uno degli aspetti fondamentali è poi la sua scalabilità che permette di distribuire molto più facilmente. I contenitori Docker, infatti, possono girare su tante piattaforme, è infatti possibile distribuire i contenitori su desktop, server fisici, macchine virtuali, in data center e in cloud pubblici e privati. È possibile avviare rapidamente più contenitori in caso di necessità e poi chiuderli facilmente quando non sono più necessari. Non avendo bisogno di un hypervisor si può ottenere maggiore densità ed eseguire più carichi di lavoro contemporaneamente visto che possiamo eseguire e quindi ospitare contemporaneamente diversi container dando più valore a tutti i server e permettendo una riduzione di ciò che si spenderebbe in licenze e tool. Ciò è particolarmente utile in ambienti ad alta densità: per esempio, costruire il proprio Cloud o Platform-as-a-Service. Ma è anche utile per le piccole e medie distribuzioni in cui si vuole ottenere di più le risorse disponibili. 2.3 L Architettura di Docker Docker utilizza un'architettura client-server. Un client Docker comunica con un demone Docker, che fa il lavoro pesante di costruzione, esecuzione e distribuzione dei contenitori Docker, attraverso socket o un set di API RESTful. Sia il client che il demone possono essere eseguiti sullo stesso sistema, ma è anche possibile connettere un client Docker ad un demone Docker remoto. Come mostrato in figura 3, il demone Docker viene eseguito su una macchina host. L'utente non interagisce direttamente con il demone, ma lo fa attraverso il client Docker. Il client è l'interfaccia utente principale, accetta comandi dall'utente e comunica con il demone. Per capire internamente Docker bisogna conoscere 3 componenti: Le immagini Docker 14

15 I registri Docker I container Docker (Figura 3: L architettura Docker) Un'immagine Docker è un modello di sola lettura. Ad esempio, essa può contenere un sistema operativo Ubuntu con Apache e un applicazione web installata. Le immagini vengono usate per creare i contenitori Docker. Docker fornisce un modo semplice per creare nuove immagini o aggiornare le immagini esistenti, oppure è possibile scaricare le immagini che altre persone hanno già creato. Le immagini Docker sono la componente di costruzione di Docker. I registri Docker servono per ospitare le immagini. Si tratta di store, pubblici o privati, da cui caricare o scaricare immagini. Il registro pubblico è fornito dal Docker Hub e contiene una vasta collezione di immagini esistenti e pronte per l'uso che possono essere le immagini create da noi o immagini che altri hanno creato in precedenza. I registri Docker sono la componente di distribuzione di Docker. I contenitori Docker sono simili a una directory. Un contenitore Docker contiene tutto ciò che è necessario per eseguire una applicazione ed è creato da un'immagine Docker. Essi possono essere eseguiti, inizializzati, messi in pausa, spostati e cancellati e ognuno di essi è una piattaforma applicativa isolata e sicura. I contenitori Docker sono la componente di esecuzione di Docker. 15

16 2.4 Come funziona Docker Sappiamo che: Possiamo creare immagini che contengono applicazioni; Possiamo creare container Docker da quelle immagini per eseguire le nostre applicazioni; Possiamo condividere queste immagini Docker attraverso il Docker Hub o attraverso nostri registri. Andiamo ora nel dettaglio a capire come possiamo combinare questi elementi e come ci permettono di far funzionare Docker Come funziona un immagine Docker Abbiamo già visto che le immagini Docker sono modelli da cui vengono lanciati i contenitori Docker in sola lettura. Ogni immagine è costituita da una serie di strati e Docker fa uso di union file systems per combinare questi livelli in una sola immagine. Union file sistems permette che file e directory con file system separati, noti come rami, possano essere sovrapposti formando un unico file system coerente. Proprio questi strati sono una delle ragioni per cui Docker è cosi leggero. Quando viene modificata un immagine, ad esempio per aggiornare un applicazione ad una nuova versione, viene costruito un nuovo livello. Cosi invece di sostituire l intera immagine o ricostruirla tutta, come si può fare con una macchina virtuale, viene aggiunto o aggiornato solo tale livello. Cosi non c è bisogno di distribuire una nuova immagine ma solo aggiornarla rendendo la distribuzione di immagini Docker più veloce e semplice. Ogni immagine parte da un immagine di base, ad esempio Ubuntu, un immagine base di Ubuntu o Fedora, un immagine base di Fedora. E inoltre possibile utilizzare le immagini come si vuole come base per una nuova immagine, ad esempio, se si dispone di un immagine base Apache è possibile utilizzarla come base di tutte le immagini per applicazioni web. Le immagini Docker vengono quindi costruite da queste immagini di base utilizzando un semplice insieme di istruzioni. Ogni istruzione crea un nuovo livello nella nostra 16

17 immagine. Le istruzioni comprendono azioni come: Eseguire un comando; Aggiungere un file o una directory; Creare una variabile d ambiente; Quale processo da eseguire all avvio di un container da questa immagine. Queste istruzioni sono memorizzate in un file chiamato Dockerfile. Docker legge questo Dockerfile quando si richiede la generazione di un immagine, quindi esegue le istruzioni e restituisce l immagine finale Come funziona un registro Docker Un registro Docker è il luogo dove risiedono le immagini Docker. Una volta creata l immagine la si può inserire su un registro pubblico, quello fornito da Docker Hub o sul proprio registro personale attraverso un firewall personale. Utilizzando il client Docker è possibile cercare le immagini già pubblicate per usarle sul proprio sistema host e costruire container a partire da queste ultime. Docker Hub fornisce spazio sia pubblico che privato per l immagazzinamento di immagini. Lo spazio pubblico è consultabile da chiunque e le immagini che risiedono su di esso sono scaricabili sempre e da qualsiasi utente. Lo spazio privato, invece, viene escluso dai risultati di ricerca e solo il proprietario e i suoi utenti che ricevono i permessi possono scaricare le immagini ed utilizzarle per costruire i propri contenitori Come funziona un contenitore Docker Un contenitore è costituito da un sistema operativo, file aggiunti dall utente e meta-dati. Come abbiamo gia visto, ogni contenitore è costruito da un immagine che ci dice a Docker cosa contiene il contenitore, quale processo deve eseguire quando il contenitore viene lanciato e una varietà di altri dati di configurazione. L immagine Docker è di sola lettura. Quando Docker gestisce un container da un immagine, si aggiunge un livello di lettura scrittura all immagine (utilizzando union file system come visto in precedenza) nel quale l applicazione può essere eseguita. 17

18 2.4.4 Cosa succede quando un Container viene eseguito Attraverso l eseguibile docker o attraverso le API, il client Docker avvisa il demone Docker che deve eseguire un container Analizziamo questo comando. Il client Docker viene avviato utilizzando l eseguibile binario docker con l opzione run che ha come obiettivo quello di avviare un nuovo contenitore. Ciò che di fondamentale il client Docker deve dire al demone per eseguire il contenitore è: Da quale immagine Docker deve costruire il contenitore, in questo caso Ubuntu, e quindi un immagine base di Ubuntu; Il comando che si desidera eseguire all interno del contenitore quando è lanciato, qui /bin/bash, per avviare la shell Bash all interno del nuovo container; Quando si esegue questo comando Docker esegue in ordine le seguenti operazioni: Prende l immagine Ubuntu: Docker ne verifica la presenza localmente e se non esiste sul sistema host la scarica da Docker Hub. Se l immagine invece esiste già allora la utilizza per il nuovo contenitore che intendiamo creare; Crea un nuovo contenitore: una volta che Docker ha acquisito l immagine di base la utilizza per creare il nuovo contenitore; Alloca un file system e monta un livello di lettura-scrittura: Il contenitore viene creato nel file system e viene aggiunto all immagine un livello di lettura-scrittura; Alloca un interfaccia di rete: Crea una interfaccia di rete che consente al contenitore Docker di trasmettere con l host locale; Imposta un indirizzo IP: Trova e attribuisce al container un indirizzo IP disponibile da un pool di indirizzi; Esegue un processo specificato: Esegue l applicazione specificata; Provvede all output dell applicazione: Collega gli input e gli output alla nostra applicazione per permetterci di vederla in uso e interagire con essa registrando in un file di log tutte le operazioni compresi gli errori. 18

19 Dopo tutte queste operazioni abbiamo un contenitore in esecuzione. Da questo punto in poi è possibile interagire con l applicazione e alla fine delle operazioni da svolgere si può interrompere, mettere in pausa o rimuovere il contenitore. 2.5 La tecnologia alla base di Docker Docker per il suo funzionamento utilizza alcune features messe a disposizione dal Kernel Linux per permettere all utente di utilizzare le funzionalità viste in questo capitolo I Namespaces Docker sfrutta una tecnologia chiamata namespaces per fornire lo spazio di lavoro isolato che noi abbiamo chiamato contenitore. Quando eseguiamo un contenitore, Docker crea una serie di spazi di nomi per quel contenitore. Ciò fornisce uno strato di isolamento in quanto ciascun aspetto di un contenitore viene eseguito nel proprio namespace (che significa proprio spazio di nomi) e non ha accesso all esterno. Alcuni dei namespaces utilizzati da Docker sono: Il pid namespace: Questo spazio dei nomi viene utilizzato per l isolamento dei processi (PID: Process ID); Il net namespace: Lo spazio dei nomi di rete viene utilizzato per la gestione delle interfacce di rete (NET: Networking); L ipc namespace: Lo spazio dei nomi IPC viene usato per gestire l accesso alle risorse IPC (IPC: Interprocess Communication); L mnt namespace: Lo spazio dei nomi mnt viene usato per la gestione dei punti di montaggio (MNT: Mount); L uts namespace: Lo spazio dei nomi uts viene utilizzato per isolare il kernel e gli identificatori di versione (UTS: Unix Timesharing System) Control Groups Docker si avvale di una tecnologia chiamata cgroups, gruppi di controllo. Una delle chiavi per l esecuzione di applicazioni per le quali vogliamo un elevato isolamento è di fargli utilizzare solo le risorse che gli servono. In questo modo i contenitori permettono un 19

20 elevato risparmio di risorse al sistema host. I gruppi di controllo permettono a Docker di condividere le risorse hardware disponibili ai contenitori e se necessario anche di imporre limiti e vincoli di utilizzo. Per esempio possiamo limitare la banda disponibile per l utilizzo della rete o limitare la memoria disponibile per uno specifico contenitore Union file systems Union file systems, o UnionFS, è il gruppo di file system che operano per la creazione di livelli e che li rendono molto leggeri e veloci. Docker utilizza union file systems per fornire i livelli per costruire i container. Può far uso di alcune varianti di union file systems tra cui: aufs, btrfs, vfs, e devicemapper Il formato dei Container Tutte queste componenti vengono combinate in un involucro che chiamiamo contenitore. Il formato contenitore predefinito è chiamato libcontainer. Docker supporta anche i contenitori tradizionali di Linux utilizzando LXC. In futuro è previsto che Docker possa supportare altri formati contenitore con l integrazione con BSD Jails o Solaris Zones. (Figura 4: Come Funziona Docker) 20

21 2.6 La sicurezza di Docker Per approfondire la sicurezza di Docker ci sono alcune aree principali da prendere in considerazione: La sicurezza intrinseca del kernel e il suo supporto per i namespaces e cgroups; Attacchi al livello di sicurezza del demone Docker; Le scappatoie nel profilo di configurazione del contenitore, sia quando è nella sua impostazione predefinita sia quando è impostato dall utente; L irrobustimento delle caratteristiche di sicurezza del kernel e la loro interazione con i contenitori. Kernel Namespaces I contenitori Docker sono molto simili ai contenitori LXC e hanno caratteristiche di sicurezza simili. Quando si avvia un container con docker run, dietro a questo procedimento Docker crea una serie di spazi di nomi e gruppi di controllo per il contenitore. I namespaces forniscono la prima e più semplice forma di isolamento: i processi in esecuzione all interno di un contenitore non possono vedere i processi in esecuzione in un altro contenitore oppure nel sistema host. Ogni contenitore ottiene anche un proprio stack di rete, ciò significa che un contenitore non ottiene un accesso privilegiato ai socket o alle interfacce di un altro contenitore. Naturalmente, se il sistema host è configurato di conseguenza, i contenitori possono interagire tra di loro tramite le rispettive interfacce di rete, proprio come possono interagire con host esterni. Quando si specificano le porte pubbliche per i contenitori o si utilizzano collegamenti, il traffico IP è consentito tra i contenitori. Essi possono fare un ping l un l altro, inviare/ricevere pacchetti UDP e stabilire connessioni TCP ma si possono anche limitare se necessario. Da un punto di vista della architettura di rete, tutti i contenitori su un dato host Docker risiedono sulle interfacce bridge. Ciò significa che sono proprio come le macchine fisiche collegate attraverso uno switch Ethernet comune, ne più ne meno di ciò. I kernel namespaces sono stati introditti tra le versioni del kernel e Ciò 21

22 significa che dal luglio 2008 (data del rilascio della ), il codice dei namespace è stato eseguito ed esaminato su un gran numero di sistemi di produzione. Tra l altro il design e l ispirazione dei namespace sono ancora più antichi. Infatti i namespace sono in realtà uno sforzo per reimplementare le caratteristiche di OpenVZ in modo tale da poter essere inseriti nel kernel. Ciò dimostra che la fase di testing per il meccaniscmo dei namespaces è stata davvero ampia e dura da tempo rendendolo quindi abbastanza sicuro allo stato atuale. Control Groups I gruppi di controllo sono un altro component chiave dei contenitori di Linux. Essi implementano la gestione e la limitazione delle risorse e forniscono parametri utili aiutando a gestirle in modo che ciascun contenitore ottenga la giusta quota di memoria, CPU, disco, I/O e sporatutto che un singolo contenitore non porti il sistema ad esaurire le sue risorse. Cosi, anche se non giocano un ruolo nella prevenzione all accesso o alla modifica dei dati da parte di un altro contenitore, essi sono essenziali per respingere alcuni attacchi di tipo denial-of-service. Essi sono particolarmente importanti sulle piattaforme multi-tenant come PaaS pubbliche e privare, per garantire un uptime costante e performance anche quando alcune applicazioni iniziano a malfunzionare. Attacchi al livello del demone Docker I contenitori in esecuzione con Docker implicano l esecuzione del demone Docker. Questo demone richiede i privilegi di root e dobbiamo essere quindi a conoscenza di alcuni dettagli importanti. Innanzitutto, solo gli utenti attendibili dovrebbero essere autorizzati a controllare il demone Docker. Questa è una conseguenza diretta di alcune potenti funzioni di Docker. In particolare esso consenti di condividere una cartella tra l host Docker e un contenitore ospite e permette di farlo senza limitare i diritti di accesso del contenitore. Questo significa che è possibile avviare un contenitore in cui la directory /host sarà la directory / sul proprio host e il contenitore sarà in grado di alterare il filesystem ospitante senza alcuna restrizione. Questa è una situazione simile a come i sistemi di virtualizzazione consentono 22

23 la condivisione delle risorse del filesystem. Nulla impedisce di condividere il file system di root con una macchina virtuale. Ciò ha una forte implicazione nel campo della sicurezza: per esempio, se utilizzo Docker da un server web per avere contenitori attraverso un API bisognerebbe stare ancora più attenti del solito con il controllo dei parametri per evitare che un utente malintenzionato passi parametri predisposti che causano la creazione di contenitori arbitrari in Docker. Per questo motivo, l endpoint REST API (usata dal Docker CLI per comunicare con il demone Docker), cambiata in Docker 0.5.2, ora utilizza un socket UNIX invece di un socket TCP vincolato su (quest ultimo è incline ad attacchi di cross-site scripting se capita di eseguire Docker direttamente sul computer locale al di fuori di una VM). E quindi possibile utilizzare i tradizionali permessi UNIX per limitare l accesso al socket di controllo. Si può anche esporre l API REST su http se si decide esplicitamente di farlo. Tuttavia se si permette ciò bisogna essere consapevoli delle implicazioni di sicurezza di cui sopra. E necessario assicurarsi che sarò raggiungibile solo da una rete di fiducia o VPN, o connessioni protette per esempio stunnel e SSL client. E inoltre possibile mettere in sicurezza ciò con HTTPS e certificati. Si prevede quindi che il demone Docker verrà eseguito con privilegi ristretti e le operazioni delegate a sotto-processi ben controllati ognuno con la propria (limitata) portata delle capacità di Linux, installazione di rete virtuale, gestione del file system ecc. Infine se si esegue Docker su un server si consiglia di eseguire esclusivamente Docker nel server e spostare tutti gli altri servizi all interno di contenitori controllati da Docker. Naturalmente, è bene mantenere gli strumenti di amministrazione (almeno un server SSH), cosi come i processi monitoraggio esistenti (ad esempio nrpe, collectd, ecc). Funzionalità del kernel Linux Per impostazione predefinita, Docker inizializza contenitori con una serie limitata di funzionalità. I processi (come i web server) che hanno bisogno di usare una porta inferiore a 1024 non devono essere eseguiti come root: possono anche avere in concessione solo la capacità net_bind_service. E ci sono anche altre funzionalità, per quasi tutti i settori 23

24 specifici per cui di solito sono necessari i privilegi di root. Tutto ciò è molto importante a livello di sicurezza. Il server deve eseguire una serie di processi come root che di solito comprendono SSH, cron, syslogd, strumenti di gestione hardware, strumenti di configurazione di rete e molto altro. Un contenitore è molto diverso, perché quasi tutti questi compiti vengono gestiti dall infrastruttura intorno al contenitore: L accesso SSH viene in genere gestito da un unico server che viene eseguito sull host Docker; cron, se necessario, dovrebbe essere eseguito come un processo utente, dedicato e su misura per l applicazione che ha bisogno del suo servizio di pianificazione; La gestione dei log sarà in genere consegnata a Docker da servizi di terze parti come Loggly o Splunk; La gestione dell hardware è irrilevante, il che significa che non è mai necessario eseguire udevd o demoni equivalenti all interno di contenitori; La gestione della rete accade al di fuori dei contenitori, fa rispettare la separazione degli interessi per quanto possibile significa che per un contenitore non dovrebbe mai essere necessario eseguire ifconfig, route o comandi ip (fatta eccezione per quando un contenitore è specificatamente progettato per comportarsi come un router o un firewall). Ciò significa che nella maggior parte dei casi, i contenitori non avranno bisogno di dare dei privilegi di root "reali" a tutti e possono essere eseguiti con capacità ridotte. Il che implica che l utente root all interno di un contenitore ha molti meno privilegi rispetto alla vera root e significa che anche se un intruso riesce a creare una root all interno di un contenitore sarà molto più difficile fare gravi danni per l host. Un rischio primario con l esecuzione di contenitori Docker è che l insieme predefinito di funzionalità e supporti dato ad un contenitore può fornire un isolamento incompleto quando usato in combinazione con vulnerabilità del kernel. Docker supporta l aggiunta e la rimozione di capacità permettendo l uso di profili non predefiniti. Questo può rendere più sicuro rimuovere capacità. La pratica migliore per gli 24

25 utenti sarebbe quella di eliminare tutte le funzionalità ad eccezione di quelle espressamente richieste per i loro processi. Altre funzioni di sicurezza del kernel Le capacità sono solo una delle molte caratteristiche di sicurezza fornite dal kernel Linux moderno. E 'anche possibile sfruttare i sistemi esistenti, noti come Tomoyo, AppArmor, SELinux, grsec, ecc con Docker. Docker attualmente, anche consentendo solo capacità, non interferisce con gli altri sistemi e ciò significa che esistono molti modi diversi per rendere un host Docker piu solido. Eccone alcuni esempi. E possibile eseguire un kernel con GRSEC e PAX. Questo aggiungerà molti controlli di sicurezza, sia al momento della compilazione che in fase di run-time e riuscirà a sconfiggere molti exploit grazie a tecniche come l indirizzamento casuale. Non necessita di una configurazione specifica di Docker in quanto tali funzioni di sicurezza si applicano a livello di sistema, indipendentemente dai contenitori. Se la distribuzione ha dei template per i modelli di sicurezza per i container Docker essi possono essere usati al di fuori del contenitore. Ad esempio, possiamo inviare un template che funziona con AppArmor e e Red Hat e viene fornito con le politiche SELinux per Docker. Questi template forniscono una rete di sicurezza in più. E possibile definire le proprie politiche preferite per l utilizzo dei meccanismi dei controlli di accesso. Proprio come esistono molti strumenti di terze parti per aumentare la solidità dei contenitori Docker con, ad esempio, le reti speciali o filesystem condivisi, ci si può aspettare di avere strumenti per fortificare i contenitori Docker esistenti senza incidere pesantemente sul nucleo di Docker. Recenti miglioramenti nei namespaces Linux premetteranno presto di eseguire contenitori full-optional, senza privilegi di root, grazia al nuovo spazio dei nomi utente. Ciò risolverà il problema causato dalla condivisione di file system tra host e guest, dal momento che lo 25

26 spazio dei nomi utente consente agli utenti all interno di contenitori (compreso l utente root) di essere mappato da altri utenti del sistema host. Oggi Docker non supporta direttamente gli user namespaces ma essi possono essere utilizzati dai contenitori Docker su kernel supportanti utilizzando la syscall clone o utilizzando l utility unshare. Ci si aspetta che Docker avrà presto supporto diretto e nativo per gli user namespaces semplificando il processo di fortificazione della sicurezza dei contenitori. 26

27 Capitolo 3:Installazione ed esempi di utilizzo di Docker Andiamo a vedere nel dettaglio come installare Docker alla sua ultima versione disponibile che otterremo utilizzando i pacchetti gestiti da Docker e i suoi meccanismi di installazione. E anche possibile installare Docker con la versione dei pacchetti gestiti da Ubuntu e ciò è possibile consultando la documentazione di Ubuntu. Docker è supportato dai seguenti sistemi operativi Ubuntu: Ubuntu Vivid Ubuntu Trusty (LTS) Ubuntu Precise (LTS) Ubuntu Saucy 3.1 Prerequisiti Indipendentemente dalla versione di Ubuntu utilizzata Docker richiede un installazione a 64 bit e il kernel del sistema deve essere almeno alla versione 3.10 in quanto quelli precedenti a questa versione sono noti per avere bug causanti la perdita di dati in determinate condizioni e non permettono il corretto funzionamento di Docker. Per controllare la versione corrente del kernel, aprire un terminale e utilizzare uname -r per visualizzare la versione del kernel: Solo per Ubuntu Precise (LTS) Docker richiede la versione 3.13 del kernel. Se il kernel è più vecchio di questa versione è necessario aggiornarlo in quanto ci potrebbero essere dei problemi relativamente ad alcuni pacchetti. 27

28 Per aggiornare il proprio kernel e installare i pacchetti aggiuntivi bisogna effettuare le seguenti operazioni: 1. Aprire un terminale sul sistema host Ubuntu. 2. Aggiornare il gestore di pacchetti (package manager). 3. Installare i pacchetti obbligatori e facoltativi (seguire la guida utente per la singola versione). 4. Riavviare il sistema host. 3.2 Installazione Una volta accertato che sul sistema ci sono i prerequisiti per la versione di Ubuntu (far riferimento alla guida utente sul sito di Docker per la versione specifica) possiamo installare Docker. 1. Accedere al sistema di installazione di Ubuntu come utente con privilegi di amministratore (sudo) 2. Verificare che sul sistema sia installato curl e se non lo è bisogna installarlo dopo aver aggiornato il gestore 3. Acquisire l ultima versione del pacchetto Docker Il sistema richiede la password di amministratore e poi scarica e installa l ultima versione di Docker e le sue dipendenze. 4. Verifichiamo che Docker sia installato correttamente Questo comando scarica un immagine di prova e la esegue in un contenitore. 28

29 3.3 Configurazione di Docker su Ubuntu Andiamo ora a configurare alcuni elementi di Docker su Ubuntu per ottimizzare l esecuzione del nostro sistema di virtualizzazione Creare un Docker Group Il demone Docker si lega ad un socket Unix invece che a una porta TCP e per impostazione predefinita tale socket Unix è di proprietà dell utente root e gli altri utenti possono accedere solo con privilegi di amministratore (sudo). Per questo motivo, il demone docker viene eseguito sempre con privilegi di amministratore (root user). Per evitare di dover utilizzare sudo quando si utilizzano i comandi docker si può creare un gruppo Unix chiamato docker e aggiungere gli utenti che possono utilizzarlo. Quando il demone docker si avvia rende da la proprietà del socket Unix in lettura/scrittura al gruppo che abbiamo appena instanziato chiamato docker. Per creare il gruppo docker e aggiungere il proprio utente bisogna: 1. Fare il log in in Ubuntu con privilegi di amministratore (sudo). Ciò presuppone che si faccia l accesso ad Ubunru come utente. 2. Creare il gruppo docker e aggiungere il proprio utente: 3. Uscire ed accedere nuovamente. Ciò permette di assicurarci che l utente sia in esecuzione con le autorizzazioni corrette. 4. Verifichiamo che ora possiamo usare Docker senza sudo. Se non si ottiene l esecuzione di hello-world con un messaggio di errore simile a questo: Cannot connect to the Docker daemon. Is 'docker daemon' running on this host? Bisogna verificare che la variabile di ambiente DOCKER_HOST non sia settata per la shell. Se lo è, bisogna non settarla. 29

30 3.3.2 Regolare la Memoria e utilizzare lo Swap Accounting Lavorando con un immagine potrebbe capitare di avere messaggi di questo tipo: WARNING: Your kernel does not support cgroup swap limit. WARNING: Your kernel does not support swap limit capabilities. Limitation discarded. Per evitare di incorrere in questi messaggi bisogna abilitare la regolazione della memoria e dell utilizzo delle risorse sul sistema. Attivando quindi lo swap accounting si induce un sovraccarico di memoria ed un degrado delle prestazioni anche quando non viene utilizzato Docker. L overhead di memoria è di circa l 1% della memoria totale disponibile mentre il degrado delle prestazioni è di circa il 10%. Per abilitare lo swap accounting usando GNU GRUB (GNU GRand Unified Bootloader), bisogna effettuare le seguenti operazioni: 1. Effettuare l accesso in Ubuntu con i privilegi di amministratore (sudo) 2. Modificare il file /etc/default/grup 3. Impostare il valore GRUB_CMDLINE_LINUX in questo modo: 4. Salvare e chiudere il file. 5. Aggiornare GRUB. 6. Riavviare il sistema Configurare UFW (Uncomplicated Firewall) Utilizzando UFW (Uncomplicated Firewall), il firewall base di Ubuntu, sullo stesso host dove si esegue Docker, abbiamo bisogno di ulteriori configurazioni. Docker utilizza un bridge per gestire i contenitori di rete. Per impostazione predefinita, UFW potrebbe bloccare il traffico proveniente da Docker e di conseguenza, per eseguirlo dobbiamo impostare una politica appropriata nel nostro firewall. Inoltre, l insieme di regole predefinite di UFW impedisce tutto il traffico in entrata. Se si vuole come obiettivo quello di raggiungere i contenitori da un altro host allora bisogna 30

31 consentire anche le connessioni in entrata sulla porta Docker (default 2375). Ecco come configurare UFW e consentire le connessioni in entrata sulla porta Docker: 1. Log In in Ubuntu con privilegi di amministratore (sudo). 2. Verificare che UFW sia installato e abilitato 3. Aprire il file /etc/default/ufw per la modifica 4. Impostare la politica di default DEFAULT_FORWARD_POLICY in: 5. Salvare e chiudere il file. 6. Ricaricare UFW per utilizzare i nuovi settaggi. 7. Permettere connessioni in entrata sulla porta Docker Configurare un server DNS per l utilizzo in Docker I sistemi che eseguono Ubuntu o un suo derivato sul desktop utilizzano in genere come nameserver predefinito l indirizzo in /etc/resolv.conf. Il NetworkManager imposta dnsmaq per l utilizzo del DNS server reale per la connessione e imposta nameserver in /etc/resolv.conf. Quando si avviano contenitori su macchine desktop con queste configurazioni, gli utenti Docker ricevono questo avvertimento: WARNING: Local ( ) DNS resolver found in resolv.conf and containers can't use it. Using default external servers : [ ]. L avvertimento si verifica perché Docker non può utilizzare il nameserver DNS locale in 31

32 quanto di default utilizza un nameserver esterno. Per ovviare a ciò è possibile specificare un server DNS per farlo utilizzare ai contenitori Docker. In alternativa è anche possibile disattivare dnsmasq in NetworkManager anche se la disattivazione di dnsmasq potrebbe rendere la risoluzione DNS più lenta in alcune reti. Per specificare un server DNS da utilizzare con Docker bisogna: 1. Effettuare il Log In in Ubuntu come utente con privilegi da amministratore (sudo). 2. Aprire il file /etc/default/docker per modificarlo 3. Aggiungere l impostazione dns per Docker Sostituire con un server DNS locale come E inoltre possibile specificare più server DNS separandoli con degli spazi, ad esempio: Se stiamo eseguendo questa operazione su un computer portatile che si collega a varie reti bisogna assicurarsi di scegliere un server DNS pubblico. 4. Salvare e chiudere il file. 5. Riavviare il demone Docker Come abbiamo detto sopra, in alternativa a questa procedura, possiamo disattivare dnsmasq nel NetworkManager (ciò potrebbe rallentare la rete). 1. Aprire il file /etc/networkmanager/networkmanager.conf per modificarlo 32

33 2. Commentare la riga dns = dnsmasq: 3. Salvare e chiudere il file. 4. Riavviare sia il NetworkManager che Docker Configurare Docker per l avvio in fase di boot Ubuntu utilizza systemd come boot and service manager dalla versione in poi mentre upstart per le versioni fino alla Per le versioni dalla in poi per configurare il demone Docker ad avviarsi in automatico al boot bisogna eseguire questo comando: Per le versioni fino alla 14.10, invece, la procedura di installazione configura upstart in automatico in modo da avviare il demone Docker al boot del sistema Aggiornare o Disinstallare Docker Per installare l ultima versione di Docker con curl bisogna eseguire questo comando: Per disinstallare il pacchetto Docker: Per disinstallare il pacchetto Docker e le dipendenze che non sono pià necessarie: I comandi sopra elencati non rimuovono immagini, container o file di configurazione creati dagli utenti sul sistema host. Se si desidera eliminare tutto ciò, bisogna eseguire il comando: 33

34 È necessario eliminare i file di configurazione creati dall'utente manualmente. 3.4 Configurazione di un database Riak in un immagine Docker L'obiettivo di questo esempio è quello di mostrare come costruire un'immagine Docker con Riak preinstallato. Riak è un NoSQL key-value database distribuito che offre un alta tolleranza ai guasti, semplicità operativa e un elevata scalabilità. 1. Creiamo il Dockerfile Creiamo un file vuoto chiamato Dockerfile Definiamo poi l immagine genitore che utilizziamo come base per costruire la nostra immagine. Usiamo Ubuntu che è disponibile su Docker Hub: Dopo di che installiamo curl che viene utilizzato per scaricare lo script di installazione dalla repository, scarichiamo lo script e lo eseguiamo RUN apt-get install -q -y curl && \ curl -ssl sudo bash Poi dobbiamo installare e configurare alcune dipendenze: Supervisor: è usato gestire i processi Riak Riak = : è il pacchetto Riak codificato alla versione

35 Dopo di che modifichiamo la configurazione di Riak Poi, si espongono i protocolli Buffers Riak e le interfacce HTTP : Infine eseguiamo supervisord in modo da avviare Riak: 2. Creare un file di configurazione supervisord Bisogna creare un file vuoto chiamato supervisord.conf. Assicurarsi che sia nella stessa directory del Dockerfile: Riempirlo con il seguente codice: 35

Online Help StruxureWare Data Center Expert

Online Help StruxureWare Data Center Expert Online Help StruxureWare Data Center Expert Version 7.2.7 StruxureWare Data Center ExpertDispositivo virtuale Il server StruxureWare Data Center Expert 7.2 è disponibile come dispositivo virtuale, supportato

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

System Center Virtual Machine Manager Library Management

System Center Virtual Machine Manager Library Management System Center Virtual Machine Manager Library Management di Nicola Ferrini MCT MCSA MCSE MCTS MCITP Introduzione La Server Virtualization è la possibilità di consolidare diversi server fisici in un unico

Dettagli

Installazione e caratteristiche generali 1

Installazione e caratteristiche generali 1 Installazione e caratteristiche generali 1 Introduzione SIGLA Ultimate e SIGLA Start Edition possono essere utilizzati solo se sono soddisfatti i seguenti prerequisiti: Microsoft.Net Framework 3.5 (consigliato

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito) IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

Proteggiamo il PC con il Firewall di Windows Vista

Proteggiamo il PC con il Firewall di Windows Vista Proteggiamo il PC con il Firewall di Windows Vista Il momento in cui un computer è più a rischio e soggetto ad attacchi informatici, è quando è connesso a internet. Per proteggere il nostro PC ed evitare

Dettagli

Manuale per la configurazione di AziendaSoft in rete

Manuale per la configurazione di AziendaSoft in rete Manuale per la configurazione di AziendaSoft in rete Data del manuale: 7/5/2013 Aggiornamento del manuale: 2.0 del 10/2/2014 Immagini tratte da Windows 7 Versione di AziendaSoft 7 Sommario 1. Premessa...

Dettagli

VMware. Gestione dello shutdown con UPS MetaSystem

VMware. Gestione dello shutdown con UPS MetaSystem VMware Gestione dello shutdown con UPS MetaSystem La struttura informatica di una azienda Se ad esempio consideriamo la struttura di una rete aziendale, i servizi offerti agli utenti possono essere numerosi:

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

Dettagli

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati. 2010 Ing. Punzenberger COPA-DATA Srl Tutti i diritti riservati. Tutti i diritti riservati la distribuzione e la copia - indifferentemente dal metodo - può essere consentita esclusivamente dalla dittacopa-data.

Dettagli

Virtualizzazione VirtualBox 4.1.2 su Host Windows

Virtualizzazione VirtualBox 4.1.2 su Host Windows Virtualizzazione VirtualBox 4.1.2 su Host Windows La virtualizzazione, quando riferita all informatica, consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente.

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Fatti Raggiungere dal tuo Computer!!

Fatti Raggiungere dal tuo Computer!! Fatti Raggiungere dal tuo Computer!! Presentazione PcBridge è il modo rivoluzionario di accedere al proprio computer in qualsiasi momento e da qualsiasi luogo. Inserendo la penna usb OUT, Pcbridge permette

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare. Macchine virtuali Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.com 1. Cosa sono In informatica il termine

Dettagli

Architetture software. Virtualizzazione

Architetture software. Virtualizzazione Sistemi Distribuiti Architetture software 1 Virtualizzazione 2 1 Virtualizzazione (motivazioni) Sullo stesso elaboratore possono essere eseguiti indipendentemente d t e simultaneamente t sistemi i operativi

Dettagli

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Network Monitoring & Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Nicholas Pocher Poker SpA - Settimo Torinese, Novembre 2013 1 Indice Il Network Monitoring:

Dettagli

Software di gestione della stampante

Software di gestione della stampante Questo argomento include le seguenti sezioni: "Uso del software CentreWare" a pagina 3-11 "Uso delle funzioni di gestione della stampante" a pagina 3-13 Uso del software CentreWare CentreWare Internet

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Progetto Virtualizzazione

Progetto Virtualizzazione Progetto Virtualizzazione Dipartimento e Facoltà di Scienze Statistiche Orazio Battaglia 25/11/2011 Dipartimento di Scienze Statiche «Paolo Fortunati», Università di Bologna, via Belle Arti 41 1 La nascita

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Text Analytics versione 15 mediante un licenza

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

IT Cloud Service. Semplice - accessibile - sicuro - economico

IT Cloud Service. Semplice - accessibile - sicuro - economico IT Cloud Service Semplice - accessibile - sicuro - economico IT Cloud Service - Cos è IT Cloud Service è una soluzione flessibile per la sincronizzazione dei file e la loro condivisione. Sia che si utilizzi

Dettagli

DEFINIZIONI VM: abbreviazione di Virtual Machine (macchina virtuale).

DEFINIZIONI VM: abbreviazione di Virtual Machine (macchina virtuale). DEFINIZIONI VM: abbreviazione di Virtual Machine (macchina virtuale). Ambiente autonomo composto da diversi dispositivi hardware, che per quanto emulati possono essere gestiti come se fossero reali. Host

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

La virtualizzazione ed i suoi aspetti di sicurezza. Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP

La virtualizzazione ed i suoi aspetti di sicurezza. Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP La virtualizzazione ed i suoi aspetti di sicurezza Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP Presentazione della Monografia - CAP 1: La virtualizzazione: concetti di base - CAP 2: La virtualizzazione

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Installazione di GFI WebMonitor

Installazione di GFI WebMonitor Installazione di GFI WebMonitor Requisiti di sistema di GFI WebMonitor Server Microsoft Windows 2000 (SP 3) o 2003. Microsoft ISA 2000 Server (non in modalità solo firewall) OPPURE Server Microsoft ISA

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

The Onion PC. Virtualizzazione strato dopo strato

The Onion PC. Virtualizzazione strato dopo strato The Onion PC Virtualizzazione strato dopo strato Cos'è un livello di astrazione? Cos'è un livello di astrazione? Nell'esecuzione di un programma un livello di astrazione rappresenta i gradi di libertà

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli) SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli) Le seguenti istruzioni sono relative all installazione di SPSS Statistics con licenza per utenti singoli. Una

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Approfondimenti. Contenuti

Approfondimenti. Contenuti Approfondimenti dott. Stefano D. Fratepietro steve@stevelab.net C I R S F I D Università degli studi di Bologna stevelab.net Creative Commons license Stefano Fratepietro - www.stevelab.net 1 Contenuti

Dettagli

Aggiornare applicazioni virtualizzate con App-V

Aggiornare applicazioni virtualizzate con App-V Aggiornare applicazioni virtualizzate con App-V di Nicola Ferrini MCT MCSA MCSE MCTS MCITP Introduzione Mantenere un infrastruttura virtuale basata su Application Virtualization aiuta a diminuire sensibilmente

Dettagli

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I La VPN con il FRITZ!Box Parte I 1 Introduzione In questa mini-guida illustreremo come realizzare un collegamento tramite VPN(Virtual Private Network) tra due FRITZ!Box, in modo da mettere in comunicazioni

Dettagli

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito) IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento

Dettagli

Progettare un Firewall

Progettare un Firewall Progettare un Firewall Danilo Demarchi danilo@cuneo.linux.it GLUG Cuneo Corso Sicurezza 2006 Concetti introduttivi Come pensare un Firewall Argomenti trattati I Gli strumenti del Firewall Gli strumenti

Dettagli

PIATTAFORMA DOCUMENTALE CRG

PIATTAFORMA DOCUMENTALE CRG SISTEMA DI GESTIONE DOCUMENTALE DMS24 PIATTAFORMA DOCUMENTALE CRG APPLICAZIONE PER LE PROCEDURE DI GARE D AMBITO 1 AGENDA 1. Introduzione 2. I Livelli di accesso 3. Architettura di configurazione 4. Accesso

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 NOVELL SCHEDA INTRODUTTIVA Seguire le procedure riportate di seguito per installare una nuova versione di SUSE Linux Enterprise 11.

Dettagli

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

Nota Tecnica UBIQUITY 5 TN0019. Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity.

Nota Tecnica UBIQUITY 5 TN0019. Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity. UBIQUITY 5 Introduzione Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity. Versione Descrizione Data 1 Prima emissione 20/01/2015 Disclaimer Le informazioni

Dettagli

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 SP1

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 SP1 Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 SP1 Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 SP1 NOVELL SCHEDA INTRODUTTIVA Seguire le procedure riportate

Dettagli

Domande e risposte su Avira ProActiv Community

Domande e risposte su Avira ProActiv Community Domande e risposte su Avira ProActiv Community Avira AntiVir versione 10 sfrutta un innovativa tecnologia protettiva cloud-based, denominata ProActiv, che identifica e blocca i nuovi virus non appena questi

Dettagli

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE LUG - CREMONA Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE In informatica la virtualizzazione consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

progecad NLM Guida all uso Rel. 10.2

progecad NLM Guida all uso Rel. 10.2 progecad NLM Guida all uso Rel. 10.2 Indice Indice... 2 Introduzione... 3 Come Iniziare... 3 Installare progecad NLM Server... 3 Registrare progecad NLM Server... 3 Aggiungere e attivare le licenze...

Dettagli

Supporto On Line Allegato FAQ

Supporto On Line Allegato FAQ Supporto On Line Allegato FAQ FAQ n.ro MAN-8NQLJY70768 Data ultima modifica 26/01/2012 Prodotto Dichiarazioni Fiscali 2012 Modulo Studi di Settore Oggetto Servizio di attivazione Studi WKI In giallo le

Dettagli

Creare una Rete Locale Lezione n. 1

Creare una Rete Locale Lezione n. 1 Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Dipartimento di Scienze Applicate

Dipartimento di Scienze Applicate DIPARTIMENTO DI SCIENZE APPLICATE Università degli Studi di Napoli Parthenope Centro Direzionale di Napoli Isola C4 80143 Napoli dsa@uniparthenope.it P. IVA 01877320638 Dipartimento di Scienze Applicate.

Dettagli

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Tecnologie informatiche ACCESSO REMOTO CON WINDOWS Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Un esempio di tale servizio

Dettagli

1. opzione 1, ubuntu accanto a windows

1. opzione 1, ubuntu accanto a windows INSTALLARE UBUNTU LINUX Per installare Ubuntu, si possono scegliere 3 diverse opzioni: 1. installazione accanto (o al posto) di windows 2. installazione all'interno di windows tramite Wubi 3. installazione

Dettagli

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP Un indirizzo IP è composto da 32 bit. Generalmente, per convenienza, è presentato in decimale: 4 ottetti (bytes) separati da un punto. Ogni rete fisica

Dettagli

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015 COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015 Vicenza, 3 giugno 2015 Gentile cliente, si ricorda che a partire dall aggiornamento PROFIS 2011.1 è stato automatizzato

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Studi di Settore. Nota Operativa 22/4/2013

Studi di Settore. Nota Operativa 22/4/2013 Nota Operativa Studi di Settore 22/4/2013 Sommario Valutazione casistiche... 2 Errore di connessione... 2 Sistema operativo non aggiornato... 2 File non installato client... 2 File non installato server...

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

DOCUMENTAZIONE POISSON

DOCUMENTAZIONE POISSON DOCUMENTAZIONE POISSON INDICE: 1. Primo approccio all'interfaccia 2. Distribuzione dei dati 3. Effettuare una elaborazione e una lettura dell'elaborazione 4. Sistema di aggiornamenti 5. Assistenza 6. Acquisto

Dettagli

Manuale LiveBox WEB ADMIN. http://www.liveboxcloud.com

Manuale LiveBox WEB ADMIN. http://www.liveboxcloud.com 2014 Manuale LiveBox WEB ADMIN http://www.liveboxcloud.com LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi garanzia espressa

Dettagli

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata. Sommario A cosa serve InfoWEB?... 3 Quali informazioni posso comunicare o ricevere?... 3 Cosa significa visualizzare le informazioni in maniera differenziata in base al livello dell utente?... 4 Cosa significa

Dettagli

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati Affidabilità nel servizio precisione negli strumenti Chanda LPR Chanda LPR è una piattaforma

Dettagli

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti 20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1

Dettagli

IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito)

IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito) IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento

Dettagli

Manuale di KSystemLog. Nicolas Ternisien

Manuale di KSystemLog. Nicolas Ternisien Nicolas Ternisien 2 Indice 1 Usare KSystemLog 5 1.1 Introduzione......................................... 5 1.1.1 Cos è KSystemLog?................................ 5 1.1.2 Funzionalità.....................................

Dettagli

BMSO1001. Orchestrator. Istruzioni d uso 02/10-01 PC

BMSO1001. Orchestrator. Istruzioni d uso 02/10-01 PC BMSO1001 Orchestrator Istruzioni d uso 02/10-01 PC 2 Orchestrator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti fondamentali 4

Dettagli

Setup dell ambiente virtuale

Setup dell ambiente virtuale Setup dell ambiente virtuale 1.1 L immagine per le macchine virtuali Il file mininet-vm-x86 64.qcow è l immagine di una memoria di massa su cui è installato un sistema Linux 3.13 Ubuntu 14.04.1 LTS SMP

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Text AnalyticsServer per Windows

Istruzioni di installazione di IBM SPSS Modeler Text AnalyticsServer per Windows Istruzioni di installazione di IBM SPSS Modeler Text AnalyticsServer per Windows IBM SPSS Modeler Text Analytics Server può essere installato e configurato per essere eseguito su un computer su cui è in

Dettagli

MODEM USB MDC525UP Guida Rapida LINUX

MODEM USB MDC525UP Guida Rapida LINUX MODEM USB MDC525UP Guida Rapida LINUX Sommario Introduzione... 2 Requisiti minimi... 2 Contenuto del CD-ROM... 2 Procedura di installazione per Driver e Software di connessione... 3 Installazione/rimozione

Dettagli

LaCie Ethernet Disk mini Domande frequenti (FAQ)

LaCie Ethernet Disk mini Domande frequenti (FAQ) LaCie Ethernet Disk mini Domande frequenti (FAQ) Installazione Che cosa occorre fare per installare l unità LaCie Ethernet Disk mini? A. Collegare il cavo Ethernet alla porta LAN sul retro dell unità LaCie

Dettagli

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

Dettagli

NAS 224 Accesso remoto Configurazione manuale

NAS 224 Accesso remoto Configurazione manuale NAS 224 Accesso remoto Collegamento al NAS ASUSTOR tramite Internet A S U S T O R C O L L E G E OBIETTIVI DEL CORSO Al termine di questo corso si dovrebbe essere in grado di: 1. Configurare il sistema

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo

Dettagli

Capitolo 1 Installazione del programma

Capitolo 1 Installazione del programma Capitolo 1 Installazione del programma Requisiti Hardware e Software Per effettuare l installazione del software Linea Qualità ISO, il computer deve presentare una configurazione minima così composta:

Dettagli

COMUNIC@CTION INVIO SMS

COMUNIC@CTION INVIO SMS S I G e s t S.r.l S e d e l e g a l e : V i a d e l F o r n o 3 19125 L a S p e z i a T e l e f o n o 0187/284510/15 - F a x 0187/525519 P a r t i t a I V A 01223450113 COMUNIC@CTION INVIO SMS GUIDA ALL

Dettagli

Procedura per la configurazione in rete di DMS.

Procedura per la configurazione in rete di DMS. Procedura per la configurazione in rete di DMS. Sommario PREMESSA... 2 Alcuni suggerimenti... 2 Utilizzo di NAS con funzione di server di rete - SCONSIGLIATO:... 2 Reti wireless... 2 Come DMS riconosce

Dettagli

Installazione LINUX 10.0

Installazione LINUX 10.0 Installazione LINUX 10.0 1 Principali passi Prima di iniziare con l'installazione è necessario entrare nel menu di configurazione del PC (F2 durante lo start-up) e selezionare nel menu di set-up il boot

Dettagli