Sitemap

Com amor, Docker

3 min readApr 30, 2017

--

Docker ❤ AtCore

Eu desenvolvo junto com um time muito foda, um software para Impressão 3D chamado Atelier. Chegou aqui agora? Deixa eu te situar…

Desde 2015 eu cai de paraquedas no mundo da impressão 3D, e há 9 meses estou trabalhando com o Patrick(BR), Tomaz(BR) e o Chris(EUA), no desenvolvimento do Atelier, um printer host para impressão 3D. O que nada mais é que um software que pode controlar sua impressora 3D via seu computador.

Hoje o projeto está bem maduro, e estamos ansiosos para compartilhar com vocês o que vem por aí. Mas no momento tenho que deixar você ansioso e voltar para o Docker.

Há algum tempo já tinha brincado com o Docker, mas até agora não tinha feito nada sério com ele.

Contexto:

No caso do Atelier, o projeto é dividido em 2: Na API de controle, o AtCore e o Atelier em si que é a UI que abstrai o AtCore. Pelo menos esse é o objetivo. Mas enquanto o Atelier não fica pronto, nós desenvolvemos uma interface, o AtCore Test Client, que é, obviamente para testar o básico. Ele não tem uma interface muito carregada e nem tem toda a ideia de segurança que eu tenho em mente quando você tem o controle sobre uma máquina mecânica, que o Atelier vai ter. Mas ele serve ao objetivo, atende aos requisitos básicos, e a gente consegue saber se estamos fazendo tudo certo.

Então o AtCore é desenvolvido em C++ com o Qt, que é um lindo framework com um monte de Api’s que facilitam sua vida em C++. Porém algumas das Api’s que usamos é do Qt 5.7, e em muitas distros Linux a versão que tá rodando é a 5.6 LTS. E como são Api’s que a gente realmente precisa, fica complicado para o usuário que desejasse usar o projeto agora resolver.

Foi aí que o Docker entrou. Eu criei um Dockerfile com toda a configuração necessária para configurar uma máquina com Fedora 25, baixar, compilar e instalar o AtCore.

Get Lays Rodrigues’s stories in your inbox

Join Medium for free to get updates from this writer.

Para me situar dentro desse mundo do Docker, eu usei o lindo livro do Rafael Gomes, aka Gomex, Docker para Desenvolvedores, que explica de uma forma didática o modo que você usa o Docker e criar um Dockerfile.

Com algumas horas e umas pesquisas a mais, meu Dockerfile estava pronto, o que faltava era descobrir como rodar aplicações com GUI no Docker. Eu já imaginava que precisaria de um servidor X11, mas não sabia como. Dei um ping no Gomex no Telegram, e outra pesquisa no Google, e entrei no grupo do DockerBR no Telegram, e voa-lá…

A partir do blog post do Junior aka Somatorio, e mais uma ajuda do Somatorio em pessoa no Telegram eu consegui customizar o comando de Docker com o uso de um servidor X configurado na minha máquina.

Press enter or click to view image in full size
AtCore Test Client no Docker

Eu acho muito massa essas tecnologias que estão em alta hoje, como o Docker, que facilita minha vida. E que trouxe consigo uma facilidade ao meu projeto, onde meu usuário com Ubuntu 17.04 que não tem o Qt 5.7, mas que tem Docker, o usuário pode, com uma linha no terminal, estar com o AtCore rodando como na imagem acima.

Para conectar com meu dispositivo serial, preciso passar nada mais que o path do dispositivo(/dev/tty[ACM, USB]), como device no docker run, onde o container vai ter acesso a ele, e portanto o AtCore, e voa-lá…

Press enter or click to view image in full size
Test Client conectado ao meu Arduino via Docker

Quer ver tudo que eu fiz? Confira no meu Github!

O container já é construido automaticamente na minha conta no DockerHub, que você pode conferir aqui.

Obrigado pela leitura!

Se gostou clica no coração e dá share pros coleguinhas!

--

--

Lays Rodrigues
Lays Rodrigues

Written by Lays Rodrigues

Inquieta. Desenvolvedora. Impressão 3D. KDE. TheDevConf. Vida.