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.524 ]

Por: Perfil removido em 04/08/2020


Introdução



Quando se fala em Docker, logo se pensa: "... isso é coisa para super users ou profissionais de TI!".

De certa forma, é. Embora seu uso seja mais focado para o uso profissional por parte de sysadmins, devops e desenvolvedores, não significa que usuários comuns de GNU/Linux não possam tirar proveito do poder que o Docker oferece para realizar tarefas cotidianas.

O próprio GNU/Linux não foi concebido para servir como sistema operacional doméstico no início. Mas com o tempo os próprios usuários mais antigos e desenvolvedores perceberam que o GNU/Linux poderia ser uma alternativa poderosa aos sistemais operacionais destinados a desktops, como o Windows e o macOS.

E foi o que aconteceu: surgiram dezenas de distribuições ao longos dos anos e diversos ambientes desktops que oferecem uma experiência mais elegante e prática do que aquelas oferecidas pelo Windows.

Mas voltando ao Docker, posso citar alguns exemplos que um usuário comum poderia fazer:
  • rodar qualquer aplicação sem sujar e bagunçar o seu sistema. Como por exemplo, o IRPF: Declaração de Imposto de Renda;
  • testar alguma aplicação que não tenha nos repositórios da sua distro;
  • rodar o Firefox do Ubuntu com o warsaw em sua distro não Debian;
  • rodar o macOS no GNU/Linux sem muitos esforços;
  • rodar scripts/aplicações Python sem precisar instalar dependências em seu sistema pelo pip;
  • etc etc etc

Ou seja, com Docker, você consegue isolar qualquer aplicação sem se preocupar em removê-las depois.

    Próxima página

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

Usando o FreeBSD como desktop

Já fez seu "BACKUP" hoje? Não? Então vamos conversar sobre isso

Aventuras do Mint Linux 10 em um computador antigo

Como construir um pacote TGZ do zero

PuTTY - Release 0.66 - Parte V - (Final)

Leitura recomendada

Docker - Combatento o COVID-19

Inicializando servidor Ubuntu na AWS e rodando apache em Container

Introdução e Utilização do Docker

Docker: Uma abordagem didática para tempos obscuros

Pods com Podman

  
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