Docker logo

Docker é uma plataforma open source para desenvolver, compartilhar e rodar aplicações em um ambiente isolado chamado de contêiner. Utilizando contêineres é possível empacotar todo o código e suas dependências (ferramentas do sistema, biliotecas) que podem ser compartilhadas e utilizadas em diferentes máquinas de forma segura e rápida. A ferramenta foi iniciada em 2013 pela Docker Engine, para sistemas Linux e devido ao sucesso foi expandida para o sistema Windows.

O que é container?

É uma unidade padrão de software, um ambiente isolado no qual é empacotado o código e todas as suas dependências. De maneira superfical, funciona com uma máquina virtual modularizada, pois não precisa copiar informações do sistema operacional e criar um novo ambiente para cada aplicação, como mostra a comparação feita na imagem abaixo. Um contêiner utiliza o mesmo kernel do sistema operacional, que inclusive é compartilhado com os demais contêires em execução, permitindo a comunicação entre eles. Então, é perceptível a melhoria na rapidez das aplicações e menor uso de espaço do servidor.

Semelhantes
Semelhantes

Contêineres são criados utilizando uma imagem docker, que consiste em um arquivo de leitura com as intruções para configurar o ambiente. Estas imagens são armazenas no Docker Hub, um repositório de imagens docker, no qual você pode encontrar imagens padrões, como diferentes versões do ubuntu, armazenar as suas próprias, enviar novas versões e compartilhá-las com o mundo. Geralmente imagens são criadas baseando-se em outras imagens, adicionando modificações conforme a necessidade, mas também é possível criá-las do zero, escrevendo um Dockerfile.

Por que usar Docker?

Tratando de desenvolvimento, é muito comum que você se depare com problemas de incompatibilidade de sistemas. Este problema pode ser resolvido ao rodar um contêiner com a imagem do sistema desejado, por exemplo, é possível rodar um contêiner com o ubuntu 18.04 em uma máquina com o ubuntu 20.04 instalado e vice-versa. Além disso, em um trabalho em equipe pode ser necessário que se tenha o mesmo ambiente (com as mesmas dependências) em diferentes máquinas, o que também pode ser facilitado utilizando contêineres, ao compartilhar uma mesma imagem entre o grupo.


Se você se interessou por essa ferramenta, acompanhe as nossas instruções de como rodar um container e outras dicas de como utilizar o ROS nesta ferramenta!



Autora


brenda
Brenda Alencar
Estagiária no CC-RoSA, graduanda em Eng. Elétrica. Participou de projetos de Robótica Subaquática e Manipuladores Subaquáticos.