<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lukas Pol</title>
    <description>The latest articles on DEV Community by Lukas Pol (@lukaspol).</description>
    <link>https://dev.to/lukaspol</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F334550%2F951679b5-19b4-46dc-a231-30fb70e10d30.png</url>
      <title>DEV Community: Lukas Pol</title>
      <link>https://dev.to/lukaspol</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lukaspol"/>
    <language>en</language>
    <item>
      <title>Aprendendo básico de docker</title>
      <dc:creator>Lukas Pol</dc:creator>
      <pubDate>Fri, 29 May 2020 19:29:47 +0000</pubDate>
      <link>https://dev.to/lukaspol/aprendendo-basico-de-docker-3hp4</link>
      <guid>https://dev.to/lukaspol/aprendendo-basico-de-docker-3hp4</guid>
      <description>&lt;p&gt;Sumário:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Docker: O que é isso?&lt;/li&gt;
&lt;li&gt;Mas por que usar Docker?&lt;/li&gt;
&lt;li&gt;O que são containeres&lt;/li&gt;
&lt;li&gt;O que são imagens&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Docker: O que é isso?
&lt;/h2&gt;

&lt;p&gt;Segundo nosso amigo &lt;a href="https://pt.wikipedia.org/wiki/Docker_(software)"&gt;Wikipedia&lt;/a&gt;..&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Docker é um software contêiner da empresa Docker, Inc, que fornece uma camada de abstração e automação para virtualização de sistema operacional no Windows e no Linux, usando isolamento de recurso do núcleo do Linux como cgroups e espaços de nomes do núcleo, e um sistema de arquivos com recursos de união, como OverlayFS criando contêineres independentes para executar dentro de uma única instância do sistema operacional, evitando a sobrecarga de manter máquinas virtuais (VM).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Bom, entendeu? Se sim, prossiga para outro tópico, caso não continue conosco. :D&lt;/p&gt;

&lt;p&gt;Vamos imaginar aqueles navios gigantes que transportam containeirs, então esse navio é o Docker, e se você prestar atenção no logo do Docker é um baleia que está carregando uns containers. Basicamente é isso, vamos ver por que usar que ficará mais claro o que é.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mas por que usar Docker?
&lt;/h2&gt;

&lt;p&gt;Imagino que você tem seus projetos, na empresa que trabalhe ou projetos pessoais ou até como freelancer. &lt;/p&gt;

&lt;p&gt;Se você usa um mesmo SGBD(sistema de gerenciamento de banco de dados) para todos esses projetos, por exemplo o MySQL, imagino que ele deve ter muitos banco de dados e estes muitas tabelas, e podendo te confundir as vezes. Agora imagine você ter 10 projetos e 5 SGBD diferentes, ou instalados em sua máquina, não seria muito legal.&lt;/p&gt;

&lt;p&gt;Nessa posição ou você remove a inicialização automatica, quando o PC liga, ou vai desligando-os ao ligar a máquina. Mas se você usa o SGBD em um docker, não precisa se preocupar em ficar ligando e desligando os SGBD.&lt;/p&gt;

&lt;p&gt;Basta criarmos um container com um SGBD de preferência e usarmos quando precisar ou melhor ainda, criar um container com SGBD para cada projeto que tiver.&lt;/p&gt;

&lt;p&gt;Ou, até mesmo na linguagem que queria, ou um sistema operacional para testes, para ficar "dando" comandos aleatórios para aprender, e não acabar fazendo besteira em sua própria máquina.&lt;/p&gt;

&lt;p&gt;Ah, Lukas é só eu usar uma Máquina Virtual(VM), e está tudo certo.&lt;/p&gt;

&lt;p&gt;Será?? Vamos ver o que é um container.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que são containeres
&lt;/h2&gt;

&lt;p&gt;Bom agora nossa missão é entender o por que um container não é uma VM, e é mais vantagoso.&lt;/p&gt;

&lt;p&gt;Como disse antes, podemos usar linguagens e SGBD diferentes em containers, imagine isso em duas máquinas virtuais, uma a linguagem de programação e outra SGBD?&lt;/p&gt;

&lt;p&gt;Bem provável que haveria uma sobrecarga muito alta no seu pc, a não ser que tenha uma máquina &lt;code&gt;top&lt;/code&gt;, mas vamos combinar, nem todos tem uma dessas máquinas. Então ai entra o Docker e seus containers para facilitar nossas vidas.&lt;/p&gt;

&lt;p&gt;O container compartilha do seu próprio Sistema Operacional, se tem um Linux ou outro SO, os containers usaram o seu SO, logo menos sobrecarga em sua pobre máquina.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SMC8ZBtS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.weave.works/assets/images/bltb6200bc085503718/containers-vs-virtual-machines.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SMC8ZBtS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.weave.works/assets/images/bltb6200bc085503718/containers-vs-virtual-machines.jpg" alt="Docker vs VM" width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mas como montar esses containeres, então entram as imagens?&lt;/p&gt;

&lt;h2&gt;
  
  
  O que são imagens
&lt;/h2&gt;

&lt;p&gt;Imagens é o que irá formar um containeres, como estamos mais acostumado com VM, vamos imagina que queremos uma máquina ubuntu, para digitar alguns comandos no terminal. Vamos ver o quanto rápido é.&lt;/p&gt;

&lt;h4&gt;
  
  
  1º Realizar cadastro no &lt;a href="https://hub.docker.com/"&gt;DockerHub&lt;/a&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  2º Instalar na máquina
&lt;/h4&gt;

&lt;p&gt;Não entrarei nesse tópico, mas posso fazer um. Mas só pesquisar na internet, é bem fácil a instalação. Continue aqui e depois instale.&lt;/p&gt;

&lt;h4&gt;
  
  
  3º Baixando a imagem ubuntu
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker pull ubuntu
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;output&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Using default tag: latest
latest: Pulling from library/ubuntu
d51af753c3d3: Pull complete 
fc878cd0a91c: Pull complete 
6154df8ff988: Pull complete 
fee5db0ff82f: Pull complete 
Digest: sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  4º Executando o ubuntu
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run -it ubuntu
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;-i e -t é a combinação para ter acesso ao shell do container&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;root@f287473a2f95:/# 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pronto! Temos um máquina ubuntu. Caso queira ter um SGBD, ou uma liguangem de programação, basta entrar no &lt;a href="https://hub.docker.com/"&gt;DockerHub&lt;/a&gt; e pesquisar a image que desejar. &lt;/p&gt;

&lt;p&gt;Para sair do container digite: &lt;code&gt;exit&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Este &lt;a href="https://github.com/docker/awesome-compose"&gt;repositorio&lt;/a&gt; tem alguns projetos começados com docker. Caso não tenha sua Stack, só enviar um PR. :)&lt;/p&gt;

</description>
      <category>docker</category>
      <category>devops</category>
      <category>webdev</category>
      <category>devsbrasileiros</category>
    </item>
  </channel>
</rss>
