1 O que é o Docker e por que executar o Linux em um contêiner do Docker?
O Docker é uma plataforma que empacota aplicativos e suas dependências em um contêiner. Os contêineres são pacotes autônomos e executáveis que incluem tudo o que é necessário para executar o aplicativo, como código, tempo de execução, ferramentas do sistema e configurações. Em resumo, qualquer que seja o aplicativo que seja incluído dentro do contêiner. Depois que o Docker estiver instalado em um sistema, você pode executar seu contêiner imediatamente.
Então, qual é o benefício disso? Imagine executar seu aplicativo em outro computador – digamos, o de seu amigo. Você não precisa mais lidar com o problema usual: “Mas estava funcionando perfeitamente na minha máquina!” Com o Docker, o contêiner será executado de forma consistente em todos os lugares.
Por que usar o Docker para executar o Linux?
Se alguém quiser executar o Linux enquanto seu sistema operacional atual é Windows ou MacOS, a abordagem usual é de dupla. Isso significa particionar o disco, instalar o Linux nele, desligar o computador e selecionar Linux no menu de inicialização. Somente então o Linux é inicializado.
Essa maneira de correr Linux não é apenas tediosa; Ele também vem com alguns riscos, como problemas em potencial do carregador de inicialização, erros de particionamento ou até perda de dados se as coisas der errado. Há várias coisas a serem lembradas antes de Linux e Windows de booting duplo.
Outro fator a considerar é o fluxo de trabalho. E se você estiver no meio de algo importante e não quiser reiniciar seu computador? Ou se, enquanto estiver usando o Linux, você precisar de um aplicativo de repente disponível apenas no macOS? Agora o quê?
É aqui que Docker chega ao resgate. Com o Docker, você não precisa passar pelo incômodo de booting duplo. Basta abrir o aplicativo Docker, iniciar seu contêiner e você terá o Linux em execução lado a lado com o sistema operacional existente. Não importa se é Windows ou MacOS.
Essa é a beleza e a simplicidade que o Docker traz. Se você ainda não está convencido de que o Docker é ótimo para o Linux, deixe -me contar mais.
2 Eu posso usar o Linux no conteúdo do meu coração
O que há de tão especial no Linux, afinal? As pessoas, inclusive eu, adoram por muitas razões, como a natureza de código aberto, a personalização e a comunidade.
No Linux, posso escolher exatamente quais ferramentas eu quero, ajustar o comportamento do sistema até os menores detalhes e automatizar praticamente qualquer coisa. Docker torna isso ainda melhor.
Usando o Docker, posso aumentar qualquer distro que eu queira. Seja Ubuntu, Fedora, Arch, Alpine e alterne entre eles sem reinstalar ou reiniciar. Ou posso quebrar as coisas, experimentar descontroladamente, enquanto meu sistema operacional principal permanece seguro e sempre disponível para uso. E se as coisas vão longe demais, e eu quebro algo no Linux, posso começar de novo em minutos. Basta remover o contêiner e, em segundos, um novo contêiner está em funcionamento.
No mês passado, girei um recipiente de arco para ver até onde eu poderia retirá -lo enquanto ainda estava executando uma área de trabalho gráfica. Isso não correu bem. Então, acabei de digitar no terminal: “Docker RM Arch-Lighweight”. E o recipiente estava fora de existência em segundos. Eu não tive que não fazer limpeza, não desperdiçar espaço e o mais importante não desperdiçar tempo. Esse é o tipo de experimentação lúdica que eu nunca ousaria tentar em uma configuração de boot duplo, pois a reinstalação do Linux me levaria mais de uma hora.
Além disso, você pode executar três ou até quatro distritos ao mesmo tempo, enquanto compra no site da Amazon no seu navegador Safari.
3 Eu posso acessar remotamente Linux no meu laptop
Esta é uma das minhas coisas favoritas sobre a execução do Linux no Docker. Enquanto eu o executo no meu PC principal, posso usá -lo no meu laptop em qualquer lugar da minha casa. Como os contêineres do Docker podem expor os serviços pela rede, posso SSH no meu ambiente Linux do sofá, da cozinha ou da varanda com uma xícara de café.
É como ter um servidor de nuvem pessoal que vive bem dentro do meu PC principal. Todo o levantamento pesado, como o código de compilação, os dados de processamento, ocorre na minha máquina principal, mas posso controlá -lo inteiramente do meu laptop leve. Além disso, com o encaminhamento x11 ou configuração de desktop remota como VNC ou RDP, posso acessar um desktop gráfico completo do Linux no meu laptop.
4 O isolamento do fluxo de trabalho é importante para mim
Deixe -me ser honesto: sou alguém que se distrai facilmente. Como eu sei disso sobre mim, o Docker me ajudou a resolver parte do problema, criando ambientes isolados de Linux para diferentes fluxos de trabalho.
Em vez de ter uma instalação linux confusa e sobrecarregada, tenho contêineres separados para fins específicos. Por exemplo:
- Desenvolvimento: um contêiner com meu IDE preferido, compiladores, bancos de dados e ferramentas de depuração.
- Escrita: Um desktop Linux simples com um editor de texto, um navegador e minhas ferramentas de escrita.
- Teste: este é um contêiner “descartável”, onde instalo pacotes experimentais, quebro coisas e redefinindo sem me preocupar.
Esse isolamento do fluxo de trabalho mantém meus ambientes limpos e cria uma sensação de isolamento. Quando abro meu contêiner de redação, estou no modo de redação. Quando abro meu contêiner de desenvolvimento, estou no modo de codificação. O Docker não me dá apenas Linux, isso me dá os limites mentais de que preciso para manter o caminho.
A idéia central para recriar esse tipo de configuração é ter um pequeno conjunto de arquivos do Docker-comppose.yml para cada fluxo de trabalho. Cada um define:
- A imagem do Linux Base que eu quero
- Quaisquer pacotes ou aplicativos pré-instalados
- Volumes para arquivos compartilhados (para que eu possa acessar meu trabalho no host)
- Portas para qualquer servidor local que eu possa executar
Então, iniciar meu ambiente é tão simples quanto:
cd ~/docker-envs/writing
docker compose up -d
## Or, for development:
cd ~/docker-envs/dev
docker compose up -d
Em segundos, estou dentro de um espaço de trabalho Linux limpo e pré-configurado que sempre é idêntico. Quando terminar de trabalhar, posso parar e pegar exatamente de onde parei na próxima vez. Sem desordem, sem contaminação cruzada entre os fluxos de trabalho.
5 A configuração do Linux é muito fácil
Finalmente, se aumentarmos a pura produtividade, existem certas vantagens não ditas de execução do Linux no Docker que apenas facilitam o uso e o gerenciamento do Linux.
- Sem particionamento de disco: não preciso criar manualmente partições, brigar com formatos de partição ou eliminar dados importantes. Tudo vive perfeitamente dentro de recipientes e imagens.
- Segurança do carregador de inicialização: sem menus de grub, nenhum substituto do carregador de inicialização e nenhum “Por que meu computador não começa?” momentos. Minhas botas do sistema operacional normalmente sempre, com um ambiente Linux completo a apenas um contêiner de distância.
- Isolamento do host: posso usar contêineres para criar ambientes isolados para tarefas específicas. Por exemplo, posso aumentar um contêiner com seu próprio navegador e arquivos. Como seu navegador, aplicativos e arquivos são isolados do host e destruídos quando a sessão termina, isso impede o rastreamento persistente por meio de cookies e dados locais. Mas é importante lembrar que essa configuração não fornece privacidade de rede; Para isso, você precisa de uma VPN ou Tor para mascarar seu tráfego.
- Instantâneos e recuperação: antes de fazer grandes alterações, posso fotografar o estado do contêiner. Se algo quebrar, eu apenas ruro. Sem reinstalações, sem dor.
Essas pequenas conveniências podem não parecer dramáticas, mas juntos elas significam muito. Passo menos tempo configurando as coisas e corrigindo problemas e mais tempo usando o Linux.
O booting duplo ainda tem seu lugar. Se você precisar de acesso completo ao hardware ou deseja o Linux como seu sistema operacional principal, é uma escolha sólida. Eu também tenho o Linux instalado ao lado do Windows no meu PC. Mas eu raramente inicializo diretamente no Linux; Em vez disso, executo o Linux em um contêiner do docker.
Mais importante ainda, o Docker faz do Linux algo que eu uso todos os dias e em qualquer lugar, e não apenas algo que eu inicialize de vez em quando. E depois de experimentar esse nível de acessibilidade, é difícil voltar a brincar de partições e reiniciar menus.
Portanto, se você hesitou em experimentar o Linux porque não quer mexer com sua configuração atual ou se está cansado do atrito de booting duplo-talvez seja hora de dar uma chance ao Linux no Docker.