Passa ai contenuti principali

Docker in Ubuntu

Docker permette di creare istanze virtuali di macchie linux senza utilizzare un livello di astrazione come una macchia virtuale quale Virtualbox ma contenendo la macchina all'interno di un perimetro dentro il so condividendo il so stesso
La grande novità di Docker che non appesantisce la macchina

Installare Docker in Ubuntu

In Ubuntu 14.04 ecco i comandi per l'installazione
$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
$ sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
Per tutte le necessità questa è la pagina ufficiale per l'installazione di docker su ubuntu

Test installazione Docker

L'obiettivo è di avviare un semplice  comando Hello World all'interno di una macchina virtuale contenuta in Docker

 sudo docker run ubuntu:14.04 /bin/echo 'Hello world'
Questo semplice comando dice a Docker di avviare una macchina virtuale tipo Ubuntu 14.04 e stampare la stringa "Hello World"
Ben poco ma almeno se funziona allora l'installazione ha avuto successo

Ora veniamo a qualcosa di più concreto.

Installazione din un'immagine Docker

Io uso Ubuntu 14.04. Voglio avviare ora creare una macchina virtuale dove installerò WordPress

Prima di iniziare un paio di comandi di Docker per lavorarci
  • docker ps - lista containers.
  • docker logs - mostra lo standard output dei containers.
  • docker stop - ferma un container
  • docker run - avvia un container
  • docker version - versione di docker
  • docker  - visualizza tutti i comandi disponibili
  • docker images  - immagini disponibili
L'installazione di un'immagine docker parte da un Hub che è https://hub.docker.com/. Con il comando docker images è possibile visualizzare tutte le immagini disponibili attualmente presenti nella macchina. Se un'immagine non è trovata il locale il sistema prova a scaricarla dall'hub, quindi conviene partire da un'immagine base. Potete cercare quella che fa al caso vostro su https://registry.hub.docker.com/

Per il nostro obiettivo è possibile utilizzare quest'immagine https://registry.hub.docker.com/u/tutum/wordpress/ 
Quest'immagine rimane in ascolto della porta 80 e include anche un server MySql.

L'installazione è molto semplice: docker run -d -p 80:80 tutum/wordpress

Ora Docker non fa altro che scaricare dalla rete l'immagine e installarla il locale in un container apposito
Pulling repository tutum/wordpress
  13e1304a44df: Pulling dependent layers 
  511136ea3c5a: Download complete 
  8a1d8569bf87: Download complete 
  2be841034d7d: Download complete 
  99e40d806d07: Download complete 
  ef83896b7fb9: Download complete 
  2a09d8f44042: Download complete 
  2c5a50ae84cd: Downloading [==========>                             ]  16.9 MB/79.63 MB 1m13s

Se esegui docker ps si vede che il container è in avviato e in ascolto

CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                          NAMES
d54404f99dc3        tutum/wordpress:latest   /run.sh             15 seconds ago      Up 14 seconds       0.0.0.0:80->80/tcp, 3306/tcp   ecstatic_morse      
Ora avviamo il browser è richiama http://localhost: comparirà la videata di installazione
Se però stoppate l'immagine docker stop d54404f99dc3  e la riavviamo, wordpress sarà da reinstallare

Docker non memorizza le modifiche avvenute all'interno dell'immagine come ad esempio l'installazione in db di wordpress, se non glielo si comunica con un commit

Quindi una macchina in docker non è persistente se non lo si dice a docker.

[work in progress]



Post popolari in questo blog

install language on osTicket

this simple guide aims you to install and configure your language on osTicket i written this guide based on forum post http://osticket.com/forum/discussion/76252/installing-language-pack

Creare un ambiente di sviluppo PHP SYMFONY MYSQL DOCKER

Preferisco Docker a Vagrant, più leggero. Ognuno naturalmente ha le sue preferenze.
Docker lo trovo più facile e veloce da configurare.
Non conosci Docker, vai sul sito e scoprirai un tool fantastico per "virtualizzare" le macchine, anche se non è il termine corretto.
Docker crea un contenitore all'interno del tu S.O. senza però virtualizzare l'infrastruttura hardware.
A me piace sviluppare con Symfony: W Symfony2!

[update: ho trovato questa serie di post nuovi per lo sviluppo con symfony su docker
https://blog.vandenbrand.org/2016/02/03/developing-symfony-applications-with-docker-series-part-i-getting-started/
]

Setup Google Tag Manager con PrestaShop per l'e-commerce avanzato

Google Tag Manage e E-commerce Avanzato all’interno della documentazione ufficiale è descritto sia il processo che il codice di implementazione per il monitoraggio avanzato dell’e-commerce
In breve il codice da inserire deve essere un array tipo dataLayer che contiene una serie di informazioni per il monitoraggio di:
impressioni di prodotto e di categoriadettaglio di prodottocheckoutacquisto Sono presenti anche i meccanismi per il monitoraggio delle promozioni, per l’annullamento ordine e per l’aggiunta dinamica del prodotto in carrello
Nel caso del modulo BwAnalytics sono monitorati i primi 4.
Google Tag Manager L’attivazione dell’ecommerce avanzato si effettua sulla vista di Google Analytics e si impostano i nomi degli step del processo di checout mappati all’interno del codice
Limpostazione di Google Tag Manager per l’e-commerce avanzato richiede la greazione di 3 tag:
impressioni e dattagli categoria e prodottocheckout acquisto pagine prestashop coinvolte Su prestashop le pagine di…