Docker: O Resumão

O Docker foi desenvolvido para S.Os que usam o kernal Linux. No ambiente Linux é possível usar Docker para Desenvolvimento e Produção. Recentemente foi disponibilizado a versão docker para Windows e esta só pode ser usada para Desenvolvimento.

Container 

É um binário/arquivo/cápsula que encapsula todo o ambiente necessário para sua aplicação funcionar. O ambiente e sua aplicação serão virtualizados na sua máquina física. 

É errado afirmar que um container é uma VM. Uma VM obrigatoriamente terá um S.O(e outros recursos) virtualizados em um software (KMV,VMWare, Virtualbox). Já o container usa os recursos da própria máquina onde está sendo executado. Ele não virtualiza um S.O, ele usa o S.O da máquina hospedeira onde o Docker está instalado  e através de alguns recursos disponibilizados pelo hospedeiro é criado toda a estrutura interna do container.

A diferença entre Imagem e Container é que uma imagem é um container parado. Quando essa imagem é executada ela se transforma em um Container. Análogo a uma imagem ISO de um DVD.

Chinmay Shah – Article Why you should care about Docker?

Storage Drives

São os caras responsáveis por gerenciar leitura/escrita dos dados no container.

AUFS

Esse foi o primeiro SD (Storage Driver) usado pelo Docker. Ele trabalha com o esquema de camadas:

Toda vez que é instalado um novo software ou adicionado arquivos ao container é criado uma nova camada(imagem) como se fosse formando uma pilha de camadas. É nesse momento que entra o conceito de Copy-on-Write.

Todas as camadas subjacentes são read-only, somente a camada superior é read/write, essa camada também é chamada de Camada Container.

Digamos que você vai editar o arquivo /etc/network/interfaces, esse arquivo está na camada image 1.0 (que é read-only). No momento de salvar a edição esse arquivo é copiado para a primeira camada da pilha(que é read/write), onde é salvo uma cópia dele. Na próximas vezes que você for usar a configuração feita nesse arquivo, o docker vai chamar o da primeira camada da pilha. Isso é o Copy-on-write !

Referências:

Como instalar o PostgreSQL e pgAdmin no Linux

Tutorial de instalação do SGBD PostgreSQL e a ferramenta de administração pgAdmin 4. No final é dado dicas caso esteja utilizando PHP.

Estou usando Ubuntu, qual a minha versão?

Se você estiver usando o Ubuntu ou uma distribuição baseada nele, um desses comandos pode te ajudar a descobrir:

lsb_release -cs
cat /etc/*-release

No resultado do comando acima, procure por ‘VERSION_CODENAME’.

Instalando o PostgreSQL

Preferencialmente siga a documentação de instalação do PostgreSQL. Caso tenha algum problema execute o comando abaixo:

sudo apt -y install postgresql

Estou com problema no arquivo /etc/apt/sources.list.d/pgdg.list

Algumas pessoas tem problema ao criar o arquivo /etc/apt/sources.list.d/pgdg.list utilizando o script da documentação do Postgres. Se for o seu caso, faça isso:

  • Descubra qual a sua versão utilizando a dica do tópico acima.
  • O comando abaixo ira criar o arquivo /etc/apt/sources.list.d/pgdg.list. Coloque no comando abaixo a sua versão:
sudo echo "deb http://apt.postgresql.org/pub/repos/apt suaVersao-pgdg main" > /etc/apt/sources.list.d/pgdg.list

Como remover o PostgreSQL?

Para remover totalmente o PostgreSQL siga esses passos:

sudo apt --purge remove postgresql\*

sudo rm -rf /etc/postgresql/
sudo rm -rf /etc/postgresql-common/
sudo rm -rf /var/lib/postgresql/
sudo userdel -r postgres
sudo groupdel postgres

Usando PHP?

Se você estiver usando php, instale também a extensão PDO do postgres

sudo apt install php8.1-pgsql

Instalando o pgAdmin 4

Preferencialmente siga a documentação de instalação do pgAdmin 4. Caso tenha algum problema execute o comando abaixo:

sudo apt install pgadmin4

Criando o banco de dados pelo terminal

Primeiro precisamos acessar o prompt de comando do usuário postgres. Este usuário foi criado automaticamente na instalação do PostgresSQL.

sudo su - postgres

Para criar o banco de dados:

createdb bancoTeste

Vamos manipular o banco utilizando a ferramenta psql:

psql -d bancoTeste

Vamos atribuindo uma nova senha para o usuário postgres:

\password postgres

Ele vai pedir que você digite a nova senha duas vezes.

O psql é uma ferramenta muito útil. Esse post é um bom começo: PostgreSQL: Basic psql Commands

Acessando o pgAdmin 4

– Você pode pesquisar no menu de aplicativos do seu S.O por: pgadmin4

– Ou iniciando pelo terminal usando o comando: pgadmin4

– A partir do usuário postgres você consegue criar e logar nos bancos.

Referências