Usando Docker para encapsular qualquer aplicação no GNU/Linux

Quer rodar uma aplicação GUI/CLI mas não quer instalar no seu sistema? Docker é a solução!

[ Hits: 7.515 ]

Por: Perfil removido em 04/08/2020


Exemplo de uso: IRPF



Para a nossa felicidade, já criaram uma imagem para rodar um contêiner com o IRPF!

Ou seja, não precisamos instalar nada dentro do contêiner!

mkdir ~/ProgramasRFB
docker run --rm -e DISPLAY -e _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' -v /tmp/.X11-unix:/tmp/.X11-unix -v ~/ProgramasRFB:/home/irpf/ProgramasRFB rochacbruno/irpf


Observe que foi passado o parâmetro --rm. Isso significa que assim que você fechar o IPRF, o contêiner será destruído. Ou seja, nada de Java e IPRF na sua máquina!

Apenas a pasta ~/ProgramasRFB foi preservada, por necessidades do próprio software para poder copiar o arquivo .DEC da Receita Federal.

Finalização

Existem muito mais para explorar em se tratando de Docker. Podemos criar outras imagens a partir de uma imagem base através do Dockerfile, e assim criar seus respectivos contêineres.

Mas para o propósito desse artigo, acredito que com o conteúdo apresentado você já conseguirá rodar qualquer aplicação gráfica ou de texto sem precisar instalar em sua máquina.

Faça bom uso!

Página anterior    

Páginas do artigo
   1. Introdução
   2. Exemplo de uso: GIMP
   3. Exemplo de uso: IRPF
Outros artigos deste autor

Onde o Linux peca ao tentar atrair novos usuários

Kshutdown e suas funções

XFree86 - Um pouco da história deste poderoso ambiente gráfico para UNIX

Usando tabelas no editor de textos do OpenOffice

Configurando wireless no Ubuntu 7.04 e compartilhando a conexão

Leitura recomendada

Docker: Uma abordagem didática para tempos obscuros

Introdução e Utilização do Docker

Kubespray - Kubernetes Multi Master

Instalando Openshift Origin 3.11 com Ansible

Inicializando servidor Ubuntu na AWS e rodando apache em Container

  
Comentários
[1] Comentário enviado por fabio em 04/08/2020 - 14:51h

Artigo muito bem explicado! Docker para IRPF é novidade pra mim, galera não perde tempo rsrs

[2] Comentário enviado por removido em 04/08/2020 - 15:12h


[1] Comentário enviado por fabio em 04/08/2020 - 14:51h

Artigo muito bem explicado! Docker para IRPF é novidade pra mim, galera não perde tempo rsrs


Tem que manter o leão enjaulado! haha

[3] Comentário enviado por maurixnovatrento em 04/08/2020 - 19:18h


E eu querendo rodar o kazam no Slackware. Quero ver se agora eu não consigo. Vai ver só se eu não vou postar um screen do kazam no Slackware. É só sair a versão 15, que ta demorando pra variar.

___________________________________
Conhecimento não se Leva para o Túmulo.

[4] Comentário enviado por CapitainKurn em 05/08/2020 - 04:23h

Docker é muito versátil.
Recentemente fiz um trabalho para rodar uma aplicação legada em um novo hardware e o Docker foi o que salvou a pátria pois como tratava-ssse de uma solução Gentoo de 2006 foi muito problemático porta-la para distros novas, problemas com retrocompatibilidade de libs, problemas com módulos e hardware novo e por aí vai.
Vou escrever em breve um artigo sobre o assunto.
Dê uma olhada!
https://www.youtube.com/watch?v=yMdoYftPjXQ
https://www.youtube.com/watch?v=sL8iJEUNR60


[5] Comentário enviado por mcnd2 em 05/08/2020 - 04:28h


Muito bom artigo, simples e fácil de entender. Parabéns!!!
__________________
Linux User #606334 -- Open your mind!

[6] Comentário enviado por removido em 05/08/2020 - 08:12h


[4] Comentário enviado por CapitainKurn em 05/08/2020 - 04:23h

Docker é muito versátil.
Recentemente fiz um trabalho para rodar uma aplicação legada em um novo hardware e o Docker foi o que salvou a pátria pois como tratava-ssse de uma solução Gentoo de 2006 foi muito problemático porta-la para distros novas, problemas com retrocompatibilidade de libs, problemas com módulos e hardware novo e por aí vai.
Vou escrever em breve um artigo sobre o assunto.
Dê uma olhada!
https://www.youtube.com/watch?v=yMdoYftPjXQ
https://www.youtube.com/watch?v=sL8iJEUNR60




Linux precisa de retrocompatibilidade, é por isso que eu acredito em soluções como os pacotes Snaps.

[7] Comentário enviado por removido em 05/08/2020 - 08:37h


[4] Comentário enviado por CapitainKurn em 05/08/2020 - 04:23h

Docker é muito versátil.
Recentemente fiz um trabalho para rodar uma aplicação legada em um novo hardware e o Docker foi o que salvou a pátria pois como tratava-ssse de uma solução Gentoo de 2006 foi muito problemático porta-la para distros novas, problemas com retrocompatibilidade de libs, problemas com módulos e hardware novo e por aí vai.
Vou escrever em breve um artigo sobre o assunto.
Dê uma olhada!
https://www.youtube.com/watch?v=yMdoYftPjXQ
https://www.youtube.com/watch?v=sL8iJEUNR60




Exatamente! Eu chuto que o Docker foi a melhor invenção dos últimos tempos em se tratando de Linux. Apesar da ideia de contêineres já existir desde 2000 com o Jail do FreeBSD (pretendo escrever um artigo sobre isso futuramente), o Docker alavancou essa ideia para outro patamar por oferecer mais possibilidades e por ser mais optimizado.

Vou dar uma olhada nos vídeos!

[8] Comentário enviado por removido em 05/08/2020 - 08:40h


[5] Comentário enviado por mcnd2 em 05/08/2020 - 04:28h


Muito bom artigo, simples e fácil de entender. Parabéns!!!
__________________
Linux User #606334 -- Open your mind!


Valeu!

[9] Comentário enviado por zezaocapoeira em 05/08/2020 - 13:20h

Salve galera.

Parabéns pelo trabalho.

Algum tempo atrás fiz alguns testes:

docker rodando steam.

- https://www.youtube.com/watch?v=YFOEj-5b890

docker rodando wine

- https://www.youtube.com/watch?v=HvX5tvhIgs4

- O desempenho é basicamente o mesmo do que rodando sem o docker.

- Ainda está nos meus planos migrar steam e wine para docker ou lxc.


OBS:

Para quem tiver curiosidade:

Aqui tem diversas opções.

- https://github.com/jessfraz/dockerfiles

Obrigado pela atenção, salve!!!

[10] Comentário enviado por removido em 05/08/2020 - 15:13h


[9] Comentário enviado por zezaocapoeira em 05/08/2020 - 13:20h

Salve galera.

Parabéns pelo trabalho.

Algum tempo atrás fiz alguns testes:

docker rodando steam.

- https://www.youtube.com/watch?v=YFOEj-5b890

docker rodando wine

- https://www.youtube.com/watch?v=HvX5tvhIgs4

- O desempenho é basicamente o mesmo do que rodando sem o docker.

- Ainda está nos meus planos migrar steam e wine para docker ou lxc.


OBS:

Para quem tiver curiosidade:

Aqui tem diversas opções.

- https://github.com/jessfraz/dockerfiles

Obrigado pela atenção, salve!!!


Fala zé!

Interessante... nunca pensei em rodar jogos pelo docker...
Nesse caso é possível manter um sistema 100% 64-bits (sem multi-arch/multilib)?

[11] Comentário enviado por zezaocapoeira em 06/08/2020 - 03:56h


[10] Comentário enviado por ruankl em 05/08/2020 - 15:13h
Fala zé!

Interessante... nunca pensei em rodar jogos pelo docker...
Nesse caso é possível manter um sistema 100% 64-bits (sem multi-arch/multilib)?



Salve @ruankl.

Acredito que seja possível.

Na epoca que testei tava com o sistema Slackware64-14.2_multilib, por isso não posso afirmar 100%.

Nos meus testes:

- uso o steam-guard para login , no caso do container não dava para deixar o login automático pois não funcionava.

Caso fosse subir o mesmo container não funcionava.

Sem usar o login automático funciona normalmente , só que vai ter que validar o login toda vez usando o steam guard.

- Dá uma olhada no meu comentário número 3.

https://www.vivaolinux.com.br/screenshot/Tiling-window-manager-Docker-container-Steam/

No caso audio no Slackware64 current acho que tá mais suave resolver, bastando habilitar o pulseaudio para multi-user.

https://wiki.archlinux.org/index.php/PulseAudio/Examples#Allowing_multiple_users_to_use_PulseAudio_a...

Estou testando esse modo multi-user aqui na minha instalação.

Basicamente setei as configurações referentes do link da wiki acima, e coloquei para iniciar o pulseaudio somente pelo daemon "pulseaudio -D". No meu caso coloquei esse comando no meu ~/.xinitrc.


OBS:
- Minha dúvida nessa migração é na questão dos driver de vídeo, nvidia no meu caso, com suporte a 32 bits.

Atualmente instalo o driver completo com suporte a 32 bits.

No caso do docker fico na dúvida:

Mantendo o sistema full 64 bits e apenas o container docker com multilib e com driver de vídeo com suporte 32 bits.
Pois os devices serão compartilhados:

(exemplo)
--device /dev/nvidia-modeset:/dev/nvidia-modeset \
--device /dev/nvidia-uvm:/dev/nvidia-uvm \
--device /dev/nvidia0:/dev/nvidia0 \
--device /dev/nvidiactl:/dev/nvidiactl \
--device /dev/dri/card0:/dev/dri/card0 \
--device /dev/dri/renderD128:/dev/dri/renderD128 \

Mas em breve vou testar isso.

Obrigado pela atenção, salve!!!

[12] Comentário enviado por maurixnovatrento em 06/08/2020 - 11:00h


Bem útil esses comentários.

___________________________________
Conhecimento não se Leva para o Túmulo.

[13] Comentário enviado por albfneto em 06/08/2020 - 20:47h

Se usa bastante docker em sabayon e gentoo. Gostei, ótimo Artigo. Favoritei.

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].

[14] Comentário enviado por zezaocapoeira em 07/08/2020 - 04:01h


[11] Comentário enviado por zezaocapoeira em 06/08/2020 - 03:56h


[10] Comentário enviado por ruankl em 05/08/2020 - 15:13h
Fala zé!

Interessante... nunca pensei em rodar jogos pelo docker...
Nesse caso é possível manter um sistema 100% 64-bits (sem multi-arch/multilib)?



Salve @ruankl.

Acredito que seja possível.

Na epoca que testei tava com o sistema Slackware64-14.2_multilib, por isso não posso afirmar 100%.

Nos meus testes:

- uso o steam-guard para login , no caso do container não dava para deixar o login automático pois não funcionava.

Caso fosse subir o mesmo container não funcionava.

Sem usar o login automático funciona normalmente , só que vai ter que validar o login toda vez usando o steam guard.

- Dá uma olhada no meu comentário número 3.

https://www.vivaolinux.com.br/screenshot/Tiling-window-manager-Docker-container-Steam/

No caso audio no Slackware64 current acho que tá mais suave resolver, bastando habilitar o pulseaudio para multi-user.

https://wiki.archlinux.org/index.php/PulseAudio/Examples#Allowing_multiple_users_to_use_PulseAudio_a....

Estou testando esse modo multi-user aqui na minha instalação.

Basicamente setei as configurações referentes do link da wiki acima, e coloquei para iniciar o pulseaudio somente pelo daemon "pulseaudio -D". No meu caso coloquei esse comando no meu ~/.xinitrc.


OBS:
- Minha dúvida nessa migração é na questão dos driver de vídeo, nvidia no meu caso, com suporte a 32 bits.

Atualmente instalo o driver completo com suporte a 32 bits.

No caso do docker fico na dúvida:

Mantendo o sistema full 64 bits e apenas o container docker com multilib e com driver de vídeo com suporte 32 bits.
Pois os devices serão compartilhados:

(exemplo)
--device /dev/nvidia-modeset:/dev/nvidia-modeset \
--device /dev/nvidia-uvm:/dev/nvidia-uvm \
--device /dev/nvidia0:/dev/nvidia0 \
--device /dev/nvidiactl:/dev/nvidiactl \
--device /dev/dri/card0:/dev/dri/card0 \
--device /dev/dri/renderD128:/dev/dri/renderD128 \

Mas em breve vou testar isso.

Obrigado pela atenção, salve!!!


Salve galera.

Complementando

docker steam:

O Funtoo tem algo relacionado a isso:

- https://www.funtoo.org/Steam
- https://github.com/funtoo/steam-launcher


Obrigado pela atenção, salve!!!

[15] Comentário enviado por maurixnovatrento em 07/08/2020 - 13:42h


Legal, esse negócio de docker steam

___________________________________
Conhecimento não se Leva para o Túmulo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts