Um belo dia me deram uma missão no estágio: Estudar docker e colocar toda a aplicação do Laboratório em containers. Como não tinha nenhum conhecimento anterior, foi atrás de vários materiais sobre o assunto. Infelizmente na época a minha aventura não deu muito certo, pois meu conhecimento era muito limitado e o tempo escasso.
O tempo passou, veio um novo projeto e o mesmo desafio de colocar toda a aplicação no Docker. Aí veio o questionamento: Será que consigo rodar aplicativos que utilizam GUI com o Docker???
Fui atrás de materiais sobre e acabei achando dois posts sobre o assunto. O primeiro foi o Rodando aplicações GUI em Docker, feita pelo somatorio. O próximo post é o Running GUI Applications inside Docker Containers, feito pelo Saravanan Sundaramoorthy.
Bem, esse repositório é uma tentativa de rodar o ElectronJS v4.0.0 usando o Docker.
Para a execução deste exemplo, você precisa ter o Docker e/ou Docker Compose instalados em sua máquina.
Existem dois modos de realizar a execução do ElectronJS: usando o Docker ou o Docker Compose.
Para a execução através do docker, primeiro você tem que criar a imagem usando o seguinte comando:
docker build -t electronjs .
Após a criação da imagem, use o seguinte comando para que seja criado o container e a tela do ElectronJS seja aberta em sua máquina:
sudo docker run --rm --net=host --env="DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" electronjs
Para a execução utilizando o docker-compose, digite o seguinte comando no terminal:
docker-compose up
Ele irá criar a imagem do electronjs especificada no Dockerfile e depois irá subir um container baseado nesta imagem, abrindo assim a sua interface gráfica.
Caso o erro mostrado na imagem abaixo apareça em seu terminal, execute:
xhost +