Docker do zero até o projeto rodando em 1 minuto

REQUISITOS: Estar em um hospedeiro linux e ter noção do que estamos fazendo.

Primeiramente instala o vim e curl:

sudo apt-get update
sudo apt-get install -y vim curl

Em seguida o docker:

sudo curl -sSl https://get.docker.com/ | sh

Permissão pro teu usuário mandar no docker:

sudo usermod -aG docker $USER

Por o docker a rodar:

sudo /etc/inid.d/docker start

Então o docker-compose:

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

Finalizamos com o portainer pra simplificar a vida:

docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer --logo "https://i.imgur.com/Ge4JP7X.jpg"

BÔNUS:

Subindo um projeto com uma customizada de um container utilizando ubuntu/apache2/php7.1:

mkdir teste
cd teste
mkdir public
echo '' > public/index.php
vim docker-compose.yml

Coloque isto dentro do docker-compose.yml:

version: '3.2'
services:
  teste:
    container_name: teste
    image: arthurlehdermann/ubuntu-apache-php
    restart: always
    links:
      - db
    ports:
      - 127.0.0.123:80:80
    volumes:
      - type: bind
        source: ./
        target: /var/www/html
  db:
    container_name: db
    image: postgres:alpine
    restart: always
    ports:
      - 5432:5432
    environment:
      POSTGRES_PASSWORD: teste
      POSTGRES_USER: teste
      POSTGRES_DB: teste

E para subir a bagaça toda:

docker-compose up -d

Agora é só acessar teu localhost e correr pro abraço!

Anúncios

Kubernetes

Subir o ETCD
docker run --net=host -d gcr.io/google_containers/etcd:2.0.12 /usr/local/bin/etcd --addr=127.0.0.1:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data

Subir o K8S Master
docker run --volume=/:/rootfs:ro --volume=/sys:/sys:ro --volume=/dev:/dev --volume=/var/lib/docker:/var/lib/docker:ro --volume=/var/lib/kubelet:/var/lib/kubelet:rw --volume=/var/run:/var/run:rw --net=host --pid=host --privileged=true -d gcr.io/google_containers/hyperkube:v1.0.1 /hyperkube kubelet --containerid --hostname-override="127.0.0.1" --address="0.0.0.0" --api-servers="http:/localhost:8080" --config=/etc/kubernetes/manifest

Subir o service proxy
docker run -d --net=host --privileged gcr.io/google_containers/hyperkube:v1.0.1 /hyperkube proxy --master=http://127.0.0.1:8080 --v=2

Portainer.io

https://portainer.io/install.html

Crie um volume para o portainer:
docker volume create portainer_data

Inicie um container para o portainer:
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Habilite swarm:
docker swarm init

Crie o serviço do portainer:
docker service create \
--name portainer \
--publish 9000:9000 \
--replicas=1 \
--constraint 'node.role == manager' \
--mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
portainer/portainer \
-H unix:///var/run/docker.sock

Agora acesse http://localhost:9000 e divirta-se!

DATA no PostgreSQL – Brincando com funções

Agradecimento por estas excelentes dicas ao autor original: savepoint.blog.br

Savepoint

Após brincar de inserir e exibir datas e de fazer um pouco de aritimética com datas, chegou a hora de trabalhar com problemas mais complexos. Se você tiver alguma sugestão para um 4º ou até 5º post, deixe um comentário aqui.

Nesse ponto, você já deveria se sentir mais à vontade trabalhando com datas no PostgreSQL. Lembre-se sempre de consultar o capítulo 8 – “Data Types” e o capítulo 9 – “Functions and Operators” para conhecer um pouco mais sobre os tipos de dados disponíveis e as funções existentes para lidar com eles. Para hoje vamos fazer uma brincadeira simples com datas: vamos pegar o primeiro e o último dia útil do mês atual. Antes de mais nada, RTFM…. vá dar uma lida no manual para conhecer as funções do Postgres. Quanto mais eu releio a documentação, mais eu aprendo.

Mas vamos lá. Para começar, vamos pegar o…

Ver o post original 847 mais palavras

Configurando virtual host no linux

Configurando virtual host no linux

acessar o projeto usando o apache + URL customizada

Vamos partir da premissa do projeto estar em:

/var/www/html/teste

Crie o arquivo [SUA-URL].conf em /etc/apache2/sites-available. Exemplo:

vim /etc/apache2/sites-available/teste.com.conf

Conteúdo do arquivo.conf:

    ServerAdmin seu@email.com
    ServerName teste.com
    DocumentRoot /var/www/html/teste/public
    <Directory "/var/www/html/teste/public">
        AllowOverride All
    
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

Feito isso vamos habilitar essa configuração(esse comando abaixo cria o link para o sites-enabled):

sudo a2ensite teste.com.conf

Habilitar as URLs amigáveis:

sudo a2enmod rewrite

Então finalmente adicionamos o virtualhost no /etc/hosts:

vim /etc/hosts

Exemplo (sim, o IP é final .1.1 pois se trata de hostname):

127.0.1.1        teste.com

Reiniciar o Apache:

sudo service apache2 restart

Ou se preferir:

sudo /etc/init.d/apache2 restart

 

Permissões (diretórios):

find . -type d -print0 | sudo xargs -0 chmod 0755

Permissões (arquivos):

find . -type f -print0 | sudo xargs -0 chmod 0644

Permissões (dono):

sudo chown -R www-data:www-data /var/www/html/teste/

 

Agora, se tudo foi realizado corretamente, já podemos acessar no browser o nosso teste.com!

Large WAR file cannot be deployed in Tomcat 7

Thanks maxrohde.com

 

Não consegue subir no tomcat para fazer deploy por causa do limite de tamanho do arquivo? Segue a dica:

The Full Stack Blog

Problem

When uploading a WAR file larger than 50 MB, the Tomcat 7 Manager application reports:

The server encountered an internal error () that prevented it from fulfilling this request.

Exception java.lang.IllegalStateException:

org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException:

the request was rejected because its size (XXX) exceeds the configured maximum (52428800)

Solution

  • Go to the web.xml of the manager application (for instance it could be under /tomcat7/webapps/manager/WEB-INF/web.xml.
  • Increase the max-file-size and max-request-size:

<multipart-config>

<!– 50MB max –>

<max-file-size>52428800</max-file-size>

<max-request-size>52428800</max-request-size>

<file-size-threshold>0</file-size-threshold>

</multipart-config>

 

Resources

Mail List “The request was rejected because its size (102811565) exceeds the configured maximum (52428800)”

Mail List “Can’t upload large war to Tomcat 7, worked in Tomcat 6”

Ver o post original