SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
LXC Linux Containers - O Docker vai mudar tudo!
O Docker é um motor de código aberto que automatiza a
implementação de qualquer aplicação encapsulando-a
num contentor portátil, auto-suficiente e leve, que será
executado em praticamente qualquer ambiente de O/S e
infra-estruturas de Clouds públicas e privadas.
O Docker, atualmente usa o sistema de LinuX Containers
(LXC), os quais são executados no mesmo sistema
operativo em que reside o Docker. Isso permite que este
partilhe os recursos do sistema operativo base em que
reside. Usa o sistema de ficheiros AuFS e
automáticamente gere as configurações de rede nos
respectivos containers.
O AuFS é um sistema de ficheiros dispostos em camadas.
Desta forma poderá ter uma única parte só de leitura e
outra de escrita, ou mesclar os dois modos. Assim, pode
ter as partes comuns do sistema operativo como
somente de leitura tal como os dados que necessitam ser
partilhados entre todos os seus recipientes, e, de
seguida, dar a cada um o seu próprio recipiente de
montagem para a escrita.
Então, digamos que você tem uma imagem de recipiente
que é de 1GB de tamanho. Se, ao contrário quiser usar uma máquina virtual completa, iria precisa ter 1GB vezes x
número de VMs que você deseja. Com LXC e AuFS pode partilhar a maior parte do 1GB e se tem por exemplo 1000
contentores, ainda pode ter apenas um pouco mais de 1 GB de espaço para o sistema operativo dos recipientes
(containers), assumindo todos eles são a imagem do mesmo sistema operativo em execução.
Um sistema virtualizado completo recebe o seu próprio conjunto de recursos que lhe são atribuídos, e faz a
partilha mínima. Ganha em mais isolamento, mas é muito mais pesado (requer muito mais recursos).
Com LXC pode ter menos isolamento, mas como os containers são mais leves e exigem menos recursos, pode-se
facilmente executar 1000 recipientes /contentores num único host, e num piscar de olhos, como veremos a
seguir. Tente fazer isso com Xen, para não falar no Hyper-V?!! Se não tiver ao seu dispor um servidor altamente
potente e caro, tal não irá ser possível.
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
1
Um sistema virtualizado completo geralmente leva alguns minutos para começar, enquanto os recipientes LXC
levam apenas alguns segundos, e às vezes até menos de
um segundo.
Há prós e contras de cada tipo de sistema virtualizado.
Se quer isolamento total com recursos garantidos, em
seguida, uma VM integral é a escolha perfeita. Mas se
quiser apenas para isolar processos entre si e deseja
executar uma tonelada deles e num único host, físico ou
virtual, com um tamanho razoável, então os Linux
Containers ( LXC ) pode ser o caminho certo e algo que
está a ser adoptado a uma velocidade enorme pela
Google, Amazon AWS, PayPal, FaceBook, Azure, e por aí
fora.. (do original). Ou assista a uma apresentação aqui.
(Para mais informações sobre o Docker consultar aqui.
Passando à parte mais prática !
Vamos construir um contentor com o Docker, que armazenará um servidor web e aplicação OwnCloud (solução
open-source para a cloud privada, similar ao Dropbox) e com suporte de base de dados MySql. E pronto a
executar! Tudo num único contentor portátil e criado automáticamente através da execução de um script ou
Dockerfile. Vamos a isso !!?
Partindo do pressuposto de que dispõe de um host, fisico ou virtual em Linux / Unix, o primeiro passo será a
instalação do executivo Docker.io.
As instruções para esta instalação podem ser encontradas na home page do Docker.
Aqui vamos assumir que dispomos de um host virtual de base Debian ou Ubuntu, para facilitar o exemplo.
1. Instalação do Docker (Ubuntu 13.04) - Para outras versões de Ubuntu consultar em Docker!
# install the backported kernel
sudo apt-get update
sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
# reboot
sudo reboot
Preparar repositório do docker e instalar :
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
2
# sudo sh -c "echo deb http://get.docker.io/ubuntu docker main
> /etc/apt/sources.list.d/docker.list"
# sudo apt-get update
# sudo apt-get install lxc-docker
(instalação completa - fácil não!? )
2. Criação de um container com o owncloud e respectiva configuração
# mkdir OwnCloud
# cd OwnCloud
# mkdir resources
# mkdir mysqldata
# vi Dockerfile
FROM ubuntu:quantal
#
MAINTAINER Francisco Goncalves@SofteLabs,inc "fgoncalves@softelabs.com"
#
#RUN echo "deb http://archive.ubuntu.com/ubuntu raring main universe" >> /etc/apt/
sources.list
RUN echo 'deb http://download.opensuse.org/reposit...xUbuntu_13.04/ /' >> /etc/apt/
sources.list.d/owncloud.list
#
RUN sudo apt-get install -y wget
RUN wget http://download.opensuse.org/reposit...04/Release.key
RUN apt-key add - < Release.key
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
3
RUN apt-get -y update
#
RUN dpkg-divert --local --rename --add /sbin/initctl
RUN ln -s /bin/true /sbin/initctl
RUN locale-gen pt_PT pt_PT.UTF-8
RUN dpkg-reconfigure locales
#
RUN apt-get install -y owncloud owncloud-client smbclient curl libcurl3 php5-mysql php5-curl
bzip2 wget vim openssl ssl-cert openssh-server openssh-client
RUN echo "mysql-server-5.5 mysql-server/root_password password donuts" |
debconf-set-selections
RUN echo "mysql-server-5.5 mysql-server/root_password_again password donuts" |
debconf-set-selections
RUN echo "mysql-server-5.5 mysql-server/root_password seen true" | debconf-set-selections
RUN echo "mysql-server-5.5 mysql-server/root_password_again seen true" |
debconf-set-selections
RUN apt-get -y install mysql-server
#
RUN wget http://ftp.us.debian.org/debian/pool....1-1_amd64.deb
RUN dpkg -i sharutils_4.11.1-1_amd64.deb
ADD resources/cfgmysql.sh /tmp/cfgmysql.sh
RUN chmod +x /tmp/cfgmysql.sh
RUN /tmp/cfgmysql.sh
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
4
#ADD resources/sshd_config1 /etc/ssh/sshd_config
#ADD resources/authorized_keys /root/.ssh/authorized_keys
#
ADD resources/001-owncloud.conf /etc/apache2/sites-available/
ADD resources/start.sh /start.sh
RUN chmod +x /start.sh
RUN /start.sh
#
ADD resources/passuser.txt /opt/passuser.txt
#RUN useradd demo
#RUN passwd demo < /opt/passuser.txt
RUN passwd root < /opt/passuser.txt
#
ADD resources/startup.sh /opt/startup.sh
RUN chmod +x /opt/startup.sh
EXPOSE 3306
EXPOSE 22
EXPOSE 443
#CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
CMD ["/bin/bash", "/opt/startup.sh"]
#
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
5
Criar os seguintes scripts invocados pelo Dockerfile acima :
# cd resources
#
# vi start.sh
#!/bin/bash
#
# Prepare ssh server
#
#mkdir -p /var/run/sshd ; chmod -rx /var/run/sshd
# http://stackoverflow.com/questions/2...g-kexinit-sent
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
# Bad security, add a user and sudo instead!
sed -ri 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config
# http://stackoverflow.com/questions/1...sshd-on-docker
sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config
#sed -ri 's/#UsePAM no/UsePAM no/g' /etc/ssh/sshd_config
service ssh restart
#
# Set apoache2 with SSL KEY
#
mkdir /etc/apache2/ssl
#
chown -R www-data:www-data /var/www/owncloud
ln -s /etc/apache2/sites-available/001-owncloud.conf /etc/apache2/sites-enabled/
a2ensite 001-owncloud.conf
a2enmod rewrite ssl
2enmod ssl
#
#
ulimit -n 826214 826214
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
6
#
if [ ! -f /etc/apache2/ssl/server.key ]; then
mkdir -p /etc/apache2/ssl
KEY=/etc/apache2/ssl/server.key
DOMAIN=$(hostname)
export PASSPHRASE=$(head -c 128 /dev/urandom | uuencode - | grep -v "^end" | tr "n"
"d")
SUBJ="
C=PT
ST=Portugal
O=eLabs
localityName=Lisbon
commonName=$DOMAIN
organizationalUnitName=
emailAddress=demo@yourcompany.com
"
openssl genrsa -des3 -out /etc/apache2/ssl/server.key -passout env:PASSPHRASE 2048
openssl req -new -batch -subj "$(echo -n "$SUBJ" | tr "n" "/")" -key $KEY -out /tmp/
$DOMAIN.csr -passin env:PASSPHRASE
cp $KEY $KEY.orig
openssl rsa -in $KEY.orig -out $KEY -passin env:PASSPHRASE
openssl x509 -req -days 365 -in /tmp/$DOMAIN.csr -signkey $KEY -out /etc/apache2/ssl/
server.crt
fi
HOSTLINE=$(echo $(ip -f inet addr show eth0 | grep 'inet' | awk '{ print $2 }' | cut -d/ -f1)
$(hostname) $(hostname -s))
#echo $HOSTLINE >> /etc/hosts
#
# vi startup.sh
#
#!/bin/bash
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
7
#
if [ ! -f /var/lib/mysql/ibdata1 ]; then
mysql_install_db
/usr/bin/mysqld_safe &
sleep 10s
# echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('owncloud');" | mysql -uroot
-pdonuts
echo "create database owncloud;" | mysql
sleep 5s
echo "CREATE USER 'admin'@'localhost' IDENTIFIED BY 'donuts';" | mysql
sleep 5s
echo "GRANT ALL ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;" | mysql
sleep 5s
echo "GRANT ALL ON *.* TO 'admin'@'%' IDENTIFIED BY 'donuts' WITH GRANT OPTION;" |
mysql
sleep 5s
echo "CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'owncloud'" | mysql
sleep 5s
echo "SET PASSWORD FOR 'owncloud'@'localhost' = PASSWORD('owncloud');" | mysql
sleep 5s
echo "GRANT ALL ON *.* TO 'owncloud'@'localhost' WITH GRANT OPTION; FLUSH
PRIVILEGES;" | mysql
killall mysqld
sleep 5s
echo "Initial MySql (OutSide the Container) Setup & OwnCloud Db creation Sucessfull"
fi
/usr/bin/mysqld_safe &
echo "MySql is up and running "
#
service ssh restart
#
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
8
#/usr/sbin/sshd -D
#
echo "ssh started ok.."
#
ping -c5 localhost
#
ulimit -n 826214 826214
#
/usr/sbin/apache2ctl -D FOREGROUND
#
echo "Apache2 Up and running "
echo " "
#
echo "Linux Docker Container is up and running "
#
# vi 001-owncloud.conf
ServerName localhost
ServerAdmin webmaster@localhost
<Directory /var/www/owncloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
<VirtualHost *:443>
DocumentRoot /var/www/owncloud
<Directory /var/www/owncloud/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
9
Order allow,deny
allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
</VirtualHost>
# vi cfgmysql.sh
#!/bin/bash
sed -i -e"s/^bind-addresss*=s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnf
#
/usr/bin/mysqld_safe &
sleep 5s
#mysqadmin shutdown -u root -pdonuts
#
# vi passuser.txt
( modificar a password da root para este container )
password
password
Agora a criação do Container que irá albergar o OwnCloud…
# cd OwnCloud
# docker build -t Demo/OwnCloud6s .
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
10
Após terminar a execução deste script contido no Dockerfile que acima editou deverá ter sido criado um
container.
Para visualizar a imagem do container agora criado use o comando:
# docker images
Para “correr” o container e disponibilizar o Woncloud, usar o comando que se descreve e (talvez!) criando um
script conforme se segue :
dockid=$(docker run -d -p 446:443 -p 3400:3306 -p 100:22 -privileged -v /Docker/
owncloud6r-mysql-docker/mysqldata:/var/lib/mysql -h "owncloud6r.softelabs.com" Demo/
OwnCloud6s /opt/startup.sh)
#
echo "Instance id = $dockid "
sleep 60
#
docker logs $dockid
#
docker ps
Pode ver todos os containers em execução através do comando:
# docker ps
Pode remover parar ou iniciar um container:
# docker start id-container
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
11
#docker stop id_container
Ou remover um container:
# docker rmi id-container
Após instalado e “running” o container do Owncloud, bastará que no seu Browser use o url no formato que se
segue:
https://your-ipaddress:446
Agora é só criar um novo utilizador com mysql e não esqueça que o user da base de dados é owncloud tal como a
password.
E boa sorte !
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
12
Francisco Gonçalves
IT Architect & Open-Source Solutions Advisor
LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI !
13

Weitere ähnliche Inhalte

Was ist angesagt?

Administracao de sistemas_com_puppet
Administracao de sistemas_com_puppetAdministracao de sistemas_com_puppet
Administracao de sistemas_com_puppetRamon Mota
 
Sistemas operacionais 6
Sistemas operacionais 6Sistemas operacionais 6
Sistemas operacionais 6Nauber Gois
 
Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...
Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...
Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...Tchelinux
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1Nauber Gois
 
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Felipe Blini
 
Instalação de um servidor debian
Instalação de um servidor debianInstalação de um servidor debian
Instalação de um servidor debianEduardo Mendes
 
Temperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbTemperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbThiago Santos
 
Criação de ambientes em chroot
Criação de ambientes em chrootCriação de ambientes em chroot
Criação de ambientes em chrootRudá Moura
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidadeMarcelo Garcia
 

Was ist angesagt? (20)

Docker + Django
Docker + DjangoDocker + Django
Docker + Django
 
Apache proxy
Apache proxyApache proxy
Apache proxy
 
Administracao de sistemas_com_puppet
Administracao de sistemas_com_puppetAdministracao de sistemas_com_puppet
Administracao de sistemas_com_puppet
 
Gentoo
GentooGentoo
Gentoo
 
Cap1 exercicios comandos linux
Cap1 exercicios comandos linuxCap1 exercicios comandos linux
Cap1 exercicios comandos linux
 
Sistemas operacionais 6
Sistemas operacionais 6Sistemas operacionais 6
Sistemas operacionais 6
 
Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...
Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...
Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1
 
Linux - DNS
Linux - DNSLinux - DNS
Linux - DNS
 
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
 
Instalação de um servidor debian
Instalação de um servidor debianInstalação de um servidor debian
Instalação de um servidor debian
 
Temperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbTemperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper Usb
 
Rancher e ansible
Rancher e ansibleRancher e ansible
Rancher e ansible
 
Shell Scipt - Comandos
Shell Scipt - ComandosShell Scipt - Comandos
Shell Scipt - Comandos
 
Criação de ambientes em chroot
Criação de ambientes em chrootCriação de ambientes em chroot
Criação de ambientes em chroot
 
Ubuntued blog
Ubuntued blogUbuntued blog
Ubuntued blog
 
Linux como funciona esta fera
Linux como funciona esta feraLinux como funciona esta fera
Linux como funciona esta fera
 
Roteiro nfs
Roteiro nfsRoteiro nfs
Roteiro nfs
 
Squid
SquidSquid
Squid
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidade
 

Andere mochten auch

O rad da wave maker developing for the cloud
O rad da wave maker developing for the cloudO rad da wave maker developing for the cloud
O rad da wave maker developing for the cloudFrancisco Gonçalves
 
Dan bernard resume may2012
Dan bernard resume may2012Dan bernard resume may2012
Dan bernard resume may2012Dan Bernard
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersFrancisco Gonçalves
 
A automatização e virtualização do seu negócio
A automatização e virtualização do seu negócioA automatização e virtualização do seu negócio
A automatização e virtualização do seu negócioFrancisco Gonçalves
 
Scale out database apps através de galera cluster e maria db
Scale out database apps através de galera cluster e maria dbScale out database apps através de galera cluster e maria db
Scale out database apps através de galera cluster e maria dbFrancisco Gonçalves
 
20140128 webinar-get-more-out-of-mysql-with-tokudb-140319063324-phpapp02
20140128 webinar-get-more-out-of-mysql-with-tokudb-140319063324-phpapp0220140128 webinar-get-more-out-of-mysql-with-tokudb-140319063324-phpapp02
20140128 webinar-get-more-out-of-mysql-with-tokudb-140319063324-phpapp02Francisco Gonçalves
 
O que é o SecondLife? Sabia que este pode catalisar a colaboração na sua empr...
O que é o SecondLife? Sabia que este pode catalisar a colaboração na sua empr...O que é o SecondLife? Sabia que este pode catalisar a colaboração na sua empr...
O que é o SecondLife? Sabia que este pode catalisar a colaboração na sua empr...Francisco Gonçalves
 

Andere mochten auch (10)

O rad da wave maker developing for the cloud
O rad da wave maker developing for the cloudO rad da wave maker developing for the cloud
O rad da wave maker developing for the cloud
 
Dan bernard resume may2012
Dan bernard resume may2012Dan bernard resume may2012
Dan bernard resume may2012
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containers
 
A automatização e virtualização do seu negócio
A automatização e virtualização do seu negócioA automatização e virtualização do seu negócio
A automatização e virtualização do seu negócio
 
Scale out database apps através de galera cluster e maria db
Scale out database apps através de galera cluster e maria dbScale out database apps através de galera cluster e maria db
Scale out database apps através de galera cluster e maria db
 
Teamwork Web Application
Teamwork Web ApplicationTeamwork Web Application
Teamwork Web Application
 
20140128 webinar-get-more-out-of-mysql-with-tokudb-140319063324-phpapp02
20140128 webinar-get-more-out-of-mysql-with-tokudb-140319063324-phpapp0220140128 webinar-get-more-out-of-mysql-with-tokudb-140319063324-phpapp02
20140128 webinar-get-more-out-of-mysql-with-tokudb-140319063324-phpapp02
 
O que é o SecondLife? Sabia que este pode catalisar a colaboração na sua empr...
O que é o SecondLife? Sabia que este pode catalisar a colaboração na sua empr...O que é o SecondLife? Sabia que este pode catalisar a colaboração na sua empr...
O que é o SecondLife? Sabia que este pode catalisar a colaboração na sua empr...
 
Porque a-burocracia-deve-morrer
Porque a-burocracia-deve-morrerPorque a-burocracia-deve-morrer
Porque a-burocracia-deve-morrer
 
Ulteo virtual desktop system
Ulteo virtual desktop systemUlteo virtual desktop system
Ulteo virtual desktop system
 

Ähnlich wie O docker vai mudar tudo na sua infra estrutura-ti

Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Wallison Marra
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaMatheus Fidelis
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4David Ruiz
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linhamatheuscmpm
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoTobias Sette
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...iMasters
 
Instalação do asterisk
Instalação do asteriskInstalação do asterisk
Instalação do asteriskVicente Nobre
 
Docker e outras ferramentas Devops
Docker e outras ferramentas DevopsDocker e outras ferramentas Devops
Docker e outras ferramentas DevopsCristian Trucco
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)Caio Candido
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)TechCobli
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoCarlos Smaniotto
 

Ähnlich wie O docker vai mudar tudo na sua infra estrutura-ti (20)

Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 
Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linha
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
 
Instalação do asterisk
Instalação do asteriskInstalação do asterisk
Instalação do asterisk
 
Docker e outras ferramentas Devops
Docker e outras ferramentas DevopsDocker e outras ferramentas Devops
Docker e outras ferramentas Devops
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Aulão de docker
Aulão de dockerAulão de docker
Aulão de docker
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualização
 
Docker
DockerDocker
Docker
 

Mehr von Francisco Gonçalves

Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Francisco Gonçalves
 
MariaDB Galera Cluster presentation
MariaDB Galera Cluster presentationMariaDB Galera Cluster presentation
MariaDB Galera Cluster presentationFrancisco Gonçalves
 
Wavemaker RAD for the Cloud with CloudJee - Future Direction 2014
Wavemaker RAD for the Cloud with CloudJee - Future Direction 2014Wavemaker RAD for the Cloud with CloudJee - Future Direction 2014
Wavemaker RAD for the Cloud with CloudJee - Future Direction 2014Francisco Gonçalves
 
Open Source Vantagens E Beneficios - By Softelabs
Open Source   Vantagens E Beneficios - By SoftelabsOpen Source   Vantagens E Beneficios - By Softelabs
Open Source Vantagens E Beneficios - By SoftelabsFrancisco Gonçalves
 
Legacy mainframe soa&workflow&documentcontentmgr fgon2007
Legacy mainframe soa&workflow&documentcontentmgr fgon2007Legacy mainframe soa&workflow&documentcontentmgr fgon2007
Legacy mainframe soa&workflow&documentcontentmgr fgon2007Francisco Gonçalves
 
Proj storage&backups&consolidaservidores&as400&pcov3
Proj storage&backups&consolidaservidores&as400&pcov3Proj storage&backups&consolidaservidores&as400&pcov3
Proj storage&backups&consolidaservidores&as400&pcov3Francisco Gonçalves
 
Softelab it strategies for 2010 and beyond
Softelab   it strategies for 2010 and beyondSoftelab   it strategies for 2010 and beyond
Softelab it strategies for 2010 and beyondFrancisco Gonçalves
 
Tool Open-Source & Free for Web Analytics
Tool Open-Source & Free for Web AnalyticsTool Open-Source & Free for Web Analytics
Tool Open-Source & Free for Web AnalyticsFrancisco Gonçalves
 
Collaboration and Strategic Innovation
Collaboration and Strategic InnovationCollaboration and Strategic Innovation
Collaboration and Strategic InnovationFrancisco Gonçalves
 
Proj Storage&Backups&Consolida Servidores&As400&Pcov3
Proj Storage&Backups&Consolida Servidores&As400&Pcov3Proj Storage&Backups&Consolida Servidores&As400&Pcov3
Proj Storage&Backups&Consolida Servidores&As400&Pcov3Francisco Gonçalves
 
Linux&Open Source Legacy Migrations F Gon 2006
Linux&Open Source Legacy Migrations F Gon 2006Linux&Open Source Legacy Migrations F Gon 2006
Linux&Open Source Legacy Migrations F Gon 2006Francisco Gonçalves
 

Mehr von Francisco Gonçalves (20)

Node Js
Node JsNode Js
Node Js
 
Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !
 
MariaDB Galera Cluster presentation
MariaDB Galera Cluster presentationMariaDB Galera Cluster presentation
MariaDB Galera Cluster presentation
 
Linux capacity planning
Linux capacity planningLinux capacity planning
Linux capacity planning
 
Wavemaker RAD for the Cloud with CloudJee - Future Direction 2014
Wavemaker RAD for the Cloud with CloudJee - Future Direction 2014Wavemaker RAD for the Cloud with CloudJee - Future Direction 2014
Wavemaker RAD for the Cloud with CloudJee - Future Direction 2014
 
Juju on ubuntu cloud
Juju on ubuntu cloudJuju on ubuntu cloud
Juju on ubuntu cloud
 
Cloud foundry and openstackcloud
Cloud foundry and openstackcloudCloud foundry and openstackcloud
Cloud foundry and openstackcloud
 
Ubuntu cloud infrastructures
Ubuntu cloud infrastructuresUbuntu cloud infrastructures
Ubuntu cloud infrastructures
 
Openstack deployment-with ubuntu
Openstack deployment-with ubuntuOpenstack deployment-with ubuntu
Openstack deployment-with ubuntu
 
Desk top virtual_gbanif
Desk top virtual_gbanifDesk top virtual_gbanif
Desk top virtual_gbanif
 
Open Source Vantagens E Beneficios - By Softelabs
Open Source   Vantagens E Beneficios - By SoftelabsOpen Source   Vantagens E Beneficios - By Softelabs
Open Source Vantagens E Beneficios - By Softelabs
 
Consolidação winintel
Consolidação winintelConsolidação winintel
Consolidação winintel
 
Legacy mainframe soa&workflow&documentcontentmgr fgon2007
Legacy mainframe soa&workflow&documentcontentmgr fgon2007Legacy mainframe soa&workflow&documentcontentmgr fgon2007
Legacy mainframe soa&workflow&documentcontentmgr fgon2007
 
Proj storage&backups&consolidaservidores&as400&pcov3
Proj storage&backups&consolidaservidores&as400&pcov3Proj storage&backups&consolidaservidores&as400&pcov3
Proj storage&backups&consolidaservidores&as400&pcov3
 
Softelab it strategies for 2010 and beyond
Softelab   it strategies for 2010 and beyondSoftelab   it strategies for 2010 and beyond
Softelab it strategies for 2010 and beyond
 
The kvm virtualization way
The kvm virtualization wayThe kvm virtualization way
The kvm virtualization way
 
Tool Open-Source & Free for Web Analytics
Tool Open-Source & Free for Web AnalyticsTool Open-Source & Free for Web Analytics
Tool Open-Source & Free for Web Analytics
 
Collaboration and Strategic Innovation
Collaboration and Strategic InnovationCollaboration and Strategic Innovation
Collaboration and Strategic Innovation
 
Proj Storage&Backups&Consolida Servidores&As400&Pcov3
Proj Storage&Backups&Consolida Servidores&As400&Pcov3Proj Storage&Backups&Consolida Servidores&As400&Pcov3
Proj Storage&Backups&Consolida Servidores&As400&Pcov3
 
Linux&Open Source Legacy Migrations F Gon 2006
Linux&Open Source Legacy Migrations F Gon 2006Linux&Open Source Legacy Migrations F Gon 2006
Linux&Open Source Legacy Migrations F Gon 2006
 

O docker vai mudar tudo na sua infra estrutura-ti

  • 1. LXC Linux Containers - O Docker vai mudar tudo! O Docker é um motor de código aberto que automatiza a implementação de qualquer aplicação encapsulando-a num contentor portátil, auto-suficiente e leve, que será executado em praticamente qualquer ambiente de O/S e infra-estruturas de Clouds públicas e privadas. O Docker, atualmente usa o sistema de LinuX Containers (LXC), os quais são executados no mesmo sistema operativo em que reside o Docker. Isso permite que este partilhe os recursos do sistema operativo base em que reside. Usa o sistema de ficheiros AuFS e automáticamente gere as configurações de rede nos respectivos containers. O AuFS é um sistema de ficheiros dispostos em camadas. Desta forma poderá ter uma única parte só de leitura e outra de escrita, ou mesclar os dois modos. Assim, pode ter as partes comuns do sistema operativo como somente de leitura tal como os dados que necessitam ser partilhados entre todos os seus recipientes, e, de seguida, dar a cada um o seu próprio recipiente de montagem para a escrita. Então, digamos que você tem uma imagem de recipiente que é de 1GB de tamanho. Se, ao contrário quiser usar uma máquina virtual completa, iria precisa ter 1GB vezes x número de VMs que você deseja. Com LXC e AuFS pode partilhar a maior parte do 1GB e se tem por exemplo 1000 contentores, ainda pode ter apenas um pouco mais de 1 GB de espaço para o sistema operativo dos recipientes (containers), assumindo todos eles são a imagem do mesmo sistema operativo em execução. Um sistema virtualizado completo recebe o seu próprio conjunto de recursos que lhe são atribuídos, e faz a partilha mínima. Ganha em mais isolamento, mas é muito mais pesado (requer muito mais recursos). Com LXC pode ter menos isolamento, mas como os containers são mais leves e exigem menos recursos, pode-se facilmente executar 1000 recipientes /contentores num único host, e num piscar de olhos, como veremos a seguir. Tente fazer isso com Xen, para não falar no Hyper-V?!! Se não tiver ao seu dispor um servidor altamente potente e caro, tal não irá ser possível. LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 1
  • 2. Um sistema virtualizado completo geralmente leva alguns minutos para começar, enquanto os recipientes LXC levam apenas alguns segundos, e às vezes até menos de um segundo. Há prós e contras de cada tipo de sistema virtualizado. Se quer isolamento total com recursos garantidos, em seguida, uma VM integral é a escolha perfeita. Mas se quiser apenas para isolar processos entre si e deseja executar uma tonelada deles e num único host, físico ou virtual, com um tamanho razoável, então os Linux Containers ( LXC ) pode ser o caminho certo e algo que está a ser adoptado a uma velocidade enorme pela Google, Amazon AWS, PayPal, FaceBook, Azure, e por aí fora.. (do original). Ou assista a uma apresentação aqui. (Para mais informações sobre o Docker consultar aqui. Passando à parte mais prática ! Vamos construir um contentor com o Docker, que armazenará um servidor web e aplicação OwnCloud (solução open-source para a cloud privada, similar ao Dropbox) e com suporte de base de dados MySql. E pronto a executar! Tudo num único contentor portátil e criado automáticamente através da execução de um script ou Dockerfile. Vamos a isso !!? Partindo do pressuposto de que dispõe de um host, fisico ou virtual em Linux / Unix, o primeiro passo será a instalação do executivo Docker.io. As instruções para esta instalação podem ser encontradas na home page do Docker. Aqui vamos assumir que dispomos de um host virtual de base Debian ou Ubuntu, para facilitar o exemplo. 1. Instalação do Docker (Ubuntu 13.04) - Para outras versões de Ubuntu consultar em Docker! # install the backported kernel sudo apt-get update sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring # reboot sudo reboot Preparar repositório do docker e instalar : LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 2
  • 3. # sudo sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" # sudo apt-get update # sudo apt-get install lxc-docker (instalação completa - fácil não!? ) 2. Criação de um container com o owncloud e respectiva configuração # mkdir OwnCloud # cd OwnCloud # mkdir resources # mkdir mysqldata # vi Dockerfile FROM ubuntu:quantal # MAINTAINER Francisco Goncalves@SofteLabs,inc "fgoncalves@softelabs.com" # #RUN echo "deb http://archive.ubuntu.com/ubuntu raring main universe" >> /etc/apt/ sources.list RUN echo 'deb http://download.opensuse.org/reposit...xUbuntu_13.04/ /' >> /etc/apt/ sources.list.d/owncloud.list # RUN sudo apt-get install -y wget RUN wget http://download.opensuse.org/reposit...04/Release.key RUN apt-key add - < Release.key LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 3
  • 4. RUN apt-get -y update # RUN dpkg-divert --local --rename --add /sbin/initctl RUN ln -s /bin/true /sbin/initctl RUN locale-gen pt_PT pt_PT.UTF-8 RUN dpkg-reconfigure locales # RUN apt-get install -y owncloud owncloud-client smbclient curl libcurl3 php5-mysql php5-curl bzip2 wget vim openssl ssl-cert openssh-server openssh-client RUN echo "mysql-server-5.5 mysql-server/root_password password donuts" | debconf-set-selections RUN echo "mysql-server-5.5 mysql-server/root_password_again password donuts" | debconf-set-selections RUN echo "mysql-server-5.5 mysql-server/root_password seen true" | debconf-set-selections RUN echo "mysql-server-5.5 mysql-server/root_password_again seen true" | debconf-set-selections RUN apt-get -y install mysql-server # RUN wget http://ftp.us.debian.org/debian/pool....1-1_amd64.deb RUN dpkg -i sharutils_4.11.1-1_amd64.deb ADD resources/cfgmysql.sh /tmp/cfgmysql.sh RUN chmod +x /tmp/cfgmysql.sh RUN /tmp/cfgmysql.sh LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 4
  • 5. #ADD resources/sshd_config1 /etc/ssh/sshd_config #ADD resources/authorized_keys /root/.ssh/authorized_keys # ADD resources/001-owncloud.conf /etc/apache2/sites-available/ ADD resources/start.sh /start.sh RUN chmod +x /start.sh RUN /start.sh # ADD resources/passuser.txt /opt/passuser.txt #RUN useradd demo #RUN passwd demo < /opt/passuser.txt RUN passwd root < /opt/passuser.txt # ADD resources/startup.sh /opt/startup.sh RUN chmod +x /opt/startup.sh EXPOSE 3306 EXPOSE 22 EXPOSE 443 #CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"] CMD ["/bin/bash", "/opt/startup.sh"] # LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 5
  • 6. Criar os seguintes scripts invocados pelo Dockerfile acima : # cd resources # # vi start.sh #!/bin/bash # # Prepare ssh server # #mkdir -p /var/run/sshd ; chmod -rx /var/run/sshd # http://stackoverflow.com/questions/2...g-kexinit-sent ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key # Bad security, add a user and sudo instead! sed -ri 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config # http://stackoverflow.com/questions/1...sshd-on-docker sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config #sed -ri 's/#UsePAM no/UsePAM no/g' /etc/ssh/sshd_config service ssh restart # # Set apoache2 with SSL KEY # mkdir /etc/apache2/ssl # chown -R www-data:www-data /var/www/owncloud ln -s /etc/apache2/sites-available/001-owncloud.conf /etc/apache2/sites-enabled/ a2ensite 001-owncloud.conf a2enmod rewrite ssl 2enmod ssl # # ulimit -n 826214 826214 LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 6
  • 7. # if [ ! -f /etc/apache2/ssl/server.key ]; then mkdir -p /etc/apache2/ssl KEY=/etc/apache2/ssl/server.key DOMAIN=$(hostname) export PASSPHRASE=$(head -c 128 /dev/urandom | uuencode - | grep -v "^end" | tr "n" "d") SUBJ=" C=PT ST=Portugal O=eLabs localityName=Lisbon commonName=$DOMAIN organizationalUnitName= emailAddress=demo@yourcompany.com " openssl genrsa -des3 -out /etc/apache2/ssl/server.key -passout env:PASSPHRASE 2048 openssl req -new -batch -subj "$(echo -n "$SUBJ" | tr "n" "/")" -key $KEY -out /tmp/ $DOMAIN.csr -passin env:PASSPHRASE cp $KEY $KEY.orig openssl rsa -in $KEY.orig -out $KEY -passin env:PASSPHRASE openssl x509 -req -days 365 -in /tmp/$DOMAIN.csr -signkey $KEY -out /etc/apache2/ssl/ server.crt fi HOSTLINE=$(echo $(ip -f inet addr show eth0 | grep 'inet' | awk '{ print $2 }' | cut -d/ -f1) $(hostname) $(hostname -s)) #echo $HOSTLINE >> /etc/hosts # # vi startup.sh # #!/bin/bash LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 7
  • 8. # if [ ! -f /var/lib/mysql/ibdata1 ]; then mysql_install_db /usr/bin/mysqld_safe & sleep 10s # echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('owncloud');" | mysql -uroot -pdonuts echo "create database owncloud;" | mysql sleep 5s echo "CREATE USER 'admin'@'localhost' IDENTIFIED BY 'donuts';" | mysql sleep 5s echo "GRANT ALL ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;" | mysql sleep 5s echo "GRANT ALL ON *.* TO 'admin'@'%' IDENTIFIED BY 'donuts' WITH GRANT OPTION;" | mysql sleep 5s echo "CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'owncloud'" | mysql sleep 5s echo "SET PASSWORD FOR 'owncloud'@'localhost' = PASSWORD('owncloud');" | mysql sleep 5s echo "GRANT ALL ON *.* TO 'owncloud'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;" | mysql killall mysqld sleep 5s echo "Initial MySql (OutSide the Container) Setup & OwnCloud Db creation Sucessfull" fi /usr/bin/mysqld_safe & echo "MySql is up and running " # service ssh restart # LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 8
  • 9. #/usr/sbin/sshd -D # echo "ssh started ok.." # ping -c5 localhost # ulimit -n 826214 826214 # /usr/sbin/apache2ctl -D FOREGROUND # echo "Apache2 Up and running " echo " " # echo "Linux Docker Container is up and running " # # vi 001-owncloud.conf ServerName localhost ServerAdmin webmaster@localhost <Directory /var/www/owncloud> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> <VirtualHost *:443> DocumentRoot /var/www/owncloud <Directory /var/www/owncloud/> Options Indexes FollowSymLinks MultiViews AllowOverride All LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 9
  • 10. Order allow,deny allow from all </Directory> SSLEngine on SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key </VirtualHost> # vi cfgmysql.sh #!/bin/bash sed -i -e"s/^bind-addresss*=s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnf # /usr/bin/mysqld_safe & sleep 5s #mysqadmin shutdown -u root -pdonuts # # vi passuser.txt ( modificar a password da root para este container ) password password Agora a criação do Container que irá albergar o OwnCloud… # cd OwnCloud # docker build -t Demo/OwnCloud6s . LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 10
  • 11. Após terminar a execução deste script contido no Dockerfile que acima editou deverá ter sido criado um container. Para visualizar a imagem do container agora criado use o comando: # docker images Para “correr” o container e disponibilizar o Woncloud, usar o comando que se descreve e (talvez!) criando um script conforme se segue : dockid=$(docker run -d -p 446:443 -p 3400:3306 -p 100:22 -privileged -v /Docker/ owncloud6r-mysql-docker/mysqldata:/var/lib/mysql -h "owncloud6r.softelabs.com" Demo/ OwnCloud6s /opt/startup.sh) # echo "Instance id = $dockid " sleep 60 # docker logs $dockid # docker ps Pode ver todos os containers em execução através do comando: # docker ps Pode remover parar ou iniciar um container: # docker start id-container LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 11
  • 12. #docker stop id_container Ou remover um container: # docker rmi id-container Após instalado e “running” o container do Owncloud, bastará que no seu Browser use o url no formato que se segue: https://your-ipaddress:446 Agora é só criar um novo utilizador com mysql e não esqueça que o user da base de dados é owncloud tal como a password. E boa sorte ! LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 12
  • 13. Francisco Gonçalves IT Architect & Open-Source Solutions Advisor LXC Linux Containers - O Docker vai mesmo mudar tudo na sua infra-estrutura de TI ! 13