- Será realizada a execução de uma aplicação Wordpress, composta por containers Docker, através de uma playbook Ansible.
- Neste passo-a-passo vamos instalar o Docker em uma máquina Ubuntu 20.04.
Para realizar a instalação na sua máquina, copie os comandos e execute-os no seu terminal.
- Remova as possíveis versões antigas do Docker já instaladas:
sudo apt-get remove docker docker-engine docker.io
- Atualize o gerenciador de pacotes:
sudo apt-get update
- Adicione a chave oficial do repositório do Docker ao sistema:
sudo apt-key fingerprint 0EBFCD88
- Adicione o repositório do Docker ao apt:
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
- Atualize o gerenciador de pacotes novamente para ter acesso aos novos pacotes do repositório do Docker:
sudo apt-get update
- Instale o pacote docker-ce:
sudo apt-get install docker-ce
- Para verificar se o Docker foi instalado corretamente, verifique sua versão:
sudo docker --version
- Para executar o container MySQL:
sudo docker run --name database -e MYSQL_ROOT_PASSWORD=password -d myslq:5.6
- Verifique se o container já está em execução:
sudo docker ps
- Para executar o container Wordpress:
docker run --name website --link database:mysql -p 80:80 -d wordpress
- A playbook Ansible é utilizada para automatizar a execução dos containers que fizemos nos passos anteriores. Através do uso de uma única playbook, podemos executar vários containers em um ou mais servidores ao mesmo tempo, sem a necessidade de digitarmos repeditas vezes os mesmos comandos.
- Nesta etapa precisaremos primeiro fazer a instalação do servidor de SSH, que é necessário para o uso do Ansible.
- Faça a instalação do servidor de SSH:
sudo apt-get install openssh-server
- Digite o seguinte comando até chegar ao diretório raiz:
cd ..
- No diretório raiz, abra o arquivo de configureçãos do SSH para configurar as permissões de root:
sudo gedit etc/ssh/sshd_config
- Remova a # para descomentar a linha:
PermitRootLogin yes
- Reinicie o servidor de SSH:
service ssh restart
- Verifique o status do servidor de SSH:
service ssh status
- Gere uma nova chave SSH:
ssh-keygen
- Salve a nova chave SSH com o seguinte comando:
cp -p ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
- Neste passo-a-passo vamos fazer a instalação do Ansible.
- Execute o seguinte comando para criar um novo repositório Ansible:
Depois, tecle ENTER sempre que o sistema solicitar.
sudo apt-add-repository ppa:ansible/ansible
- Faça a atualização do gerenciador de pacotes:
sudo apt-get update
- Execute a instalação do Ansible:
sudo apt-get install ansible
- Para confirmar que o Ansible foi instalado corretamente você pode verificar a versão:
ansible --version
- Neste passo-a-passo iremos criar o diretório e os arquivos necessários para a implementação da playbook Ansible.
- Crie um novo diretório para a sua playbook:
mkdir folder-name
- Vá para o caminho da pasta:
cd folder-name
- Crie o arquivo hosts:
sudo gedit hosts
- Insira as seguintes informações no arquivo hosts:
[header-name] 127.0.0.1
- Crie o arquivo playbook.yml:
sudo gedit playbook.yml
- Insira as seguintes informações no arquivo playbook.yml:
--- - hosts: header-name remote_user: username become: yes tasks: - name: "Execute the MySQL container" docker_container: name: database image: mysql:5.7 env: MYSQL_ROOT_PASSWORD: your-password - name: "Execute the WordPress container" docker_container: name: wordpress image: wordpress
. Execute a playbook com o seguinte comando:
sudo ansible-playbook -i hosts playbook.yml