Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior Próxima revisão Ambos lados da revisão seguinte | ||
sistema_academico:criacao_de_ambiente_de_desenvolvimento [22/08/2019 14:52] Carlitos |
sistema_academico:criacao_de_ambiente_de_desenvolvimento [09/06/2021 15:09] Carlitos [1. Docker Postgres 9.5] |
||
---|---|---|---|
Linha 2: | Linha 2: | ||
Para facilitar e padronizar a criação do ambiente de desenvolvimento foi adotado o uso de [[https://www.docker.com/get-started|Dockers]] para construção do servidor da aplicação (HTTP/Apache e PHP) e do banco de dados (Postgres). E para facilitar a construção das dockers foi utilizado o [[https://docs.docker.com/compose/|docker-compose]]. As dockers funcionam em diferentes sistemas operacionais, porém recomendamos o uso de Ubuntu ou Debian atualizados na máquina hospedeira. | Para facilitar e padronizar a criação do ambiente de desenvolvimento foi adotado o uso de [[https://www.docker.com/get-started|Dockers]] para construção do servidor da aplicação (HTTP/Apache e PHP) e do banco de dados (Postgres). E para facilitar a construção das dockers foi utilizado o [[https://docs.docker.com/compose/|docker-compose]]. As dockers funcionam em diferentes sistemas operacionais, porém recomendamos o uso de Ubuntu ou Debian atualizados na máquina hospedeira. | ||
+ | |||
+ | Então é preciso instalar o Docker e o Docker-compose seguindo os passos abaixo: | ||
+ | <code> | ||
+ | sudo apt update | ||
+ | |||
+ | # instalar o Docker | ||
+ | sudo apt install docker.io | ||
+ | |||
+ | # Confira se foi instalado corretamente com | ||
+ | docker --version | ||
+ | |||
+ | # instalar o Docker-compose -> ver aqui atualizado: https://docs.docker.com/compose/install/ | ||
+ | sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | ||
+ | sudo chmod +x /usr/local/bin/docker-compose | ||
+ | |||
+ | # testar a instalação | ||
+ | sudo docker-compose --version | ||
+ | |||
+ | # se não funcionar, experimente criar um link simbólico | ||
+ | sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose | ||
+ | </code> | ||
Serão necessárias duas dockers. São elas: | Serão necessárias duas dockers. São elas: | ||
Linha 7: | Linha 28: | ||
===== 1. Docker Postgres 9.5 ===== | ===== 1. Docker Postgres 9.5 ===== | ||
- | Para construir essa docker crie uma pasta chamada "postgres". Dentro dessa pasta crie um arquivo chamado "docker-compose.yml" com o conteúdo: | + | Para construir essa docker crie uma pasta chamada ''postgres''. Dentro dessa pasta crie outra pasta chamada ''data'' e um arquivo chamado ''docker-compose.yml'' com o conteúdo: |
<code> | <code> | ||
version: "2" | version: "2" | ||
Linha 20: | Linha 41: | ||
volumes: | volumes: | ||
- ".:/var/lib/postgresql/backup" | - ".:/var/lib/postgresql/backup" | ||
+ | - "./data:/var/lib/postgresql/data" | ||
ports: | ports: | ||
- 5003:5432 | - 5003:5432 | ||
Linha 30: | Linha 52: | ||
</code> | </code> | ||
- | Copie o arquivo de DUMP do banco (padrão compactado com Inserts explícitos - deve ser solicitado junto a equipe de desenvolvimento) para dentro da mesma pasta "postgres", por exemplo: dump.backup. | + | Copie o arquivo de DUMP do banco (padrão compactado com Inserts explícitos - deve ser solicitado junto a equipe de desenvolvimento) para dentro da mesma pasta ''postgres'', por exemplo: ''dump.backup''. |
E então após a salvar o arquivo vá até o terminal e entre com os comandos abaixo: | E então após a salvar o arquivo vá até o terminal e entre com os comandos abaixo: | ||
Linha 39: | Linha 61: | ||
# construindo a docker... pode demorar um pouco dependendo da sua conexão com a Internet | # construindo a docker... pode demorar um pouco dependendo da sua conexão com a Internet | ||
- | docker-compose build | + | sudo docker-compose build |
# subindo a docker e colocando-a em background | # subindo a docker e colocando-a em background | ||
- | docker-compose up -d | + | sudo docker-compose up -d |
# quando tiver UP, vamos restaurar o DUMP do banco nela... isso pode demorar um pouco, algumas tabelas são grandes | # quando tiver UP, vamos restaurar o DUMP do banco nela... isso pode demorar um pouco, algumas tabelas são grandes | ||
- | docker exec -it postgres sh -c "pg_restore -U postgres -d dbsigaedu < /var/lib/postgresql/backup/dump.backup --verbose" | + | sudo docker exec -it postgres sh -c "pg_restore -U postgres -d dbsigaedu < /var/lib/postgresql/backup/dump.backup --verbose" |
# Alterando a senha de todos os usuários para 1234 | # Alterando a senha de todos os usuários para 1234 | ||
- | docker exec -it postgres sh -c "psql -U postgres -d dbsigaedu -c \"UPDATE usuario SET senha = md5('1234')\"" | + | sudo docker exec -it postgres sh -c "psql -U postgres -d dbsigaedu -c \"UPDATE usuario SET senha = md5('1234')\"" |
</code> | </code> | ||
- | Pronto! Caso queira testar essa conexão pode utilizar o pgAdmin e acessar o banco de dados "dbsigaedu" pela porta 5003 através do IP 173.20.0.1, conforme definido no docker-compose. | + | Pronto! Caso queira testar essa conexão pode utilizar o [[https://www.pgadmin.org/download/|PgAdmin]] e acessar o banco de dados ''dbsigaedu'' pela porta ''5003'' através do ''localhost'', conforme definido no arquivo de configuração da docker ''postgres''. |
===== 2. Docker Apache2/PHP5.6 ===== | ===== 2. Docker Apache2/PHP5.6 ===== |