<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Devprime | Documentação – Docker</title>
    <link>https://docs.Devprime.io/pt-br/quick-start/docker/</link>
    <description>Recent content in Docker on Devprime | Documentação</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    
	  <atom:link href="https://docs.Devprime.io/pt-br/quick-start/docker/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Quick-Start: Introduction to Docker</title>
      <link>https://docs.Devprime.io/pt-br/quick-start/docker/introduction/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.Devprime.io/pt-br/quick-start/docker/introduction/</guid>
      <description>
        
        
        &lt;p&gt;A utilização de containers no &lt;a href=&#34;https://www.docker.com&#34;&gt;Docker&lt;/a&gt; facilita o dia a dia da pessoa desenvolvedora de software, pois torna-se muito fácil subir serviços como banco de dados, serviços de menssageria, serviços de cache e outras ferramentas importantes que utilizamos no a dia e podem ser instaladas com simplicidade e posteriormente removidas após o uso.&lt;/p&gt;
&lt;p&gt;Nas demonstrações iniciais nós utilizamos o MongoDB e RabbitMQ e por isso você deve subir esses dois serviços no Docker. Se você já tiver um dos serviços executando basta alterar as credenciais no arquivo de configuuração.&lt;br&gt;
&lt;code&gt;code /src/App/app/appsettings.json&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Efetuando login no Docker.&lt;/strong&gt; &lt;br&gt;
&lt;code&gt;docker login -u &amp;lt;user&amp;gt; -p &amp;lt;password&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Iniciando containers no Docker&lt;/strong&gt;&lt;br&gt;
Um exemplo básico envolve pelo menos um container do mongodb e um container do RabbitMQ. Copie a linha abaixo e execute para iniciar o container no Docker.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Ferramenta&lt;/th&gt;
&lt;th&gt;Comando&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;MongoDB&lt;/td&gt;
&lt;td&gt;docker run  --name mongodb -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=mongoadmin -e MONGO_INITDB_ROOT_PASSWORD=LltF8Nx*yo -d mongo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;RabbitMQ&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;./../using-rabbitmq/&#34;&gt;Acesse as configurações do RabbitMQ&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;MySQL&lt;/td&gt;
&lt;td&gt;docker run  --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=LltF8Nx*yo -d mysql:8.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;SQLServer&lt;/td&gt;
&lt;td&gt;docker run  --name sqlserver -e &amp;ldquo;MSSQL_SA_PASSWORD=LltF8Nx*yo&amp;rdquo;-e &amp;ldquo;ACCEPT_EULA=Y&amp;rdquo; -p 1433:1433 -d mcr.microsoft.com/mssql/server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;PostgreSQL&lt;/td&gt;
&lt;td&gt;docker run  --name postgresql -p 5432:5432 -e POSTGRES_PASSWORD=LltF8Nx*yo -d postgres:latest&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Redis&lt;/td&gt;
&lt;td&gt;docker run  --name redis -p 6379:6379 -e REDIS_PASSWORD=LltF8Nx*yo -d redis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;Kafka&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;./../using-kafka/&#34;&gt;Acesse as configurações do docker compose&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;Seq&lt;/td&gt;
&lt;td&gt;docker run  --name seq -d -p 5341:5341 -p 8000:80 --memory=500mb --memory-swap=500mb -e SEQ_CACHE_SYSTEMRAMTARGET=0 -e ACCEPT_EULA=Y datalust/seq&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;Zipkin&lt;/td&gt;
&lt;td&gt;docker run  --name zipkin -d -p 9411:9411 openzipkin/zipkin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;Jaeger&lt;/td&gt;
&lt;td&gt;docker run -d --name jaeger  -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 -e COLLECTOR_OTLP_ENABLED=true -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778 -p 16686:16686 -p 4317:4317 -p 4318:4318 -p 14250:14250 -p 14268:14268 -p 14269:14269 -p 9411:9411 jaegertracing/all-in-one:1.62.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;Keycloak&lt;/td&gt;
&lt;td&gt;docker run -d --name keycloak  -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:20.0.3 start-dev&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Parando containers e removendo imagens docker&lt;/strong&gt;&lt;br&gt;
Nesse tópico apresentamos alguns comandos básicos do docker para remover containers e até limpar todas as imagens locais. A última opção do prune é bem útil para limpar todo o Docker.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Comando&lt;/th&gt;
&lt;th&gt;Objetivo&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;docker ps -a&lt;/td&gt;
&lt;td&gt;Listando os containers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;docker stop mongodb&lt;/td&gt;
&lt;td&gt;Parando um container&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;docker rm mongodb&lt;/td&gt;
&lt;td&gt;Removendo um container&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;docker kill $(docker ps -a -q)&lt;/td&gt;
&lt;td&gt;Parar todos os containers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;docker rm $(docker ps -a -q)&lt;/td&gt;
&lt;td&gt;Remover todos os containers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;docker rmi $(docker images -q)&lt;/td&gt;
&lt;td&gt;Remover todas as imagens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;docker system prune --volumes -f -a&lt;/td&gt;
&lt;td&gt;Limpar diversas dependências do docker&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Quick-Start: Using RabbitMQ</title>
      <link>https://docs.Devprime.io/pt-br/quick-start/docker/using-rabbitmq/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.Devprime.io/pt-br/quick-start/docker/using-rabbitmq/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Criando um container com o RabbitMQ&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run --name rabbitmq -d -p 5672:5672 -p 15672:15672 -t rabbitmq:3-management&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Iniciando a configuração da Queue / Exchange no RabbitMQ&lt;/strong&gt;&lt;br&gt;
Os microsserviços baseados no Devprime se conectam automaticamente nos serviços de Stream como o RabbitMQ.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Abra o Rabbitmq no browser em &lt;a href=&#34;http://localhost:15672&#34;&gt;http://localhost:15672&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Utilize o usuário e senha padrões guest / guest&lt;/li&gt;
&lt;li&gt;Vá no menu Queue &amp;gt; Add a new queue &amp;gt; &amp;ldquo;orderevents&amp;rdquo;&lt;br&gt;
&lt;img src=&#34;https://docs.Devprime.io/images/docker-rabbitmq-add-queue.png&#34; alt=&#34;Configurando filas no RabbitMQ&#34;&gt;&lt;/li&gt;
&lt;li&gt;Repita o passo do item 3 e adicione &amp;ldquo;paymentevents&amp;rdquo;&lt;/li&gt;
&lt;li&gt;O próximo passo será criar uma Exchange chamada &amp;ldquo;Devprime&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Vá ao menu Exchanges e localize a opção &amp;ldquo;Add a new exchange&amp;rdquo;&lt;br&gt;
&lt;img src=&#34;https://docs.Devprime.io/images/quick-start/docker/rabbitmq/rabbitmq-add-a-new-exchange.png&#34; alt=&#34;Configurando filas no RabbitMQ&#34;&gt;&lt;/li&gt;
&lt;li&gt;Informe o nome  &amp;ldquo;Devprime&amp;rdquo; e adicione a nova exchange&lt;/li&gt;
&lt;li&gt;Agora nós vamos realizar o bind e vincular a exchange &amp;ldquo;Devprime&amp;rdquo; com as filas &amp;ldquo;orderevents&amp;rdquo; e &amp;ldquo;paymentevents&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Clique na exchange &amp;ldquo;Devprime&amp;rdquo; e localize a opção Bindings e adicione &amp;ldquo;orderevents&amp;rdquo; em &amp;ldquo;to queue&amp;rdquo; e em &amp;ldquo;Routing key&amp;rdquo; e depois clique em Bind.&lt;br&gt;
&lt;img src=&#34;https://docs.Devprime.io/images/quick-start/docker/rabbitmq/rabbitmq-exchange-binding.png&#34; alt=&#34;Configurando filas no RabbitMQ&#34;&gt;&lt;/li&gt;
&lt;li&gt;Repita o passo 9 e adicione &amp;ldquo;paymentevents&amp;rdquo; em &amp;ldquo;to queue&amp;rdquo; e em &amp;ldquo;Routing key&amp;rdquo; e depois clique em Bind.&lt;br&gt;
&lt;img src=&#34;https://docs.Devprime.io/images/quick-start/docker/rabbitmq/rabbitmq-exchange-binding-done.png&#34; alt=&#34;Configurando filas no RabbitMQ&#34;&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Os nomes das filas ou tópicos são utilizados nos exemplos do Devprime. Ao longo dos projetos você definirá outros nomes conforme a sua necessidade assim como outras configurações como uma exchange de fanout.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Quick-Start: Using Kafka</title>
      <link>https://docs.Devprime.io/pt-br/quick-start/docker/using-kafka/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.Devprime.io/pt-br/quick-start/docker/using-kafka/</guid>
      <description>
        
        
        &lt;p&gt;Para executar o Apache Kafka localmente nós utilizaremos três containers (Kafka, Zookeeper, Kafdrop)  organizados dentro de um arquivo chamado &amp;ldquo;Docker Compose&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Após iniciar os containers aguarde alguns minutos e utilize qualquer ferramenta compatível com o Apache Kafka para se conectar usando a porta tcp 29092. Para facilitar o teste no ambiente de desenvolvimento esse arquivo do Docker Compose traz a ferramenta Kafdrop.&lt;/p&gt;
&lt;p&gt;Siga os passos abaixo para iniciar a utilização do kafka:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Clonar o repositório&lt;br&gt;
&lt;code&gt;git clone https://github.com/devprime/kafka&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Para iniciar&lt;br&gt;
&lt;code&gt;docker-compose up -d&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Listar os três containers ativos&lt;br&gt;
&lt;code&gt;docker ps&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Para finalizar&lt;br&gt;
&lt;code&gt;docker-compose down&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Iniciando a configuração dos tópicos no Kafka&lt;/strong&gt;&lt;br&gt;
Os microsserviços baseados no Devprime se conectam automaticamente nos serviços de Stream como o Kafka e nos exemplos utilizamos alguns tópicos padrões como orderevents e paymentevents.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Abra o Kafdrop no browser em http://localhost:9000&lt;/li&gt;
&lt;li&gt;Vá na opção &amp;ldquo;Topic&amp;rdquo; e New adicionando &amp;ldquo;orderevents&amp;rdquo; e depois &amp;ldquo;paymentevents&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Verifique os tópicos criados&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;img-srcimagesquick-startdockerkafkakafdrop-topicpng-altkafdrop&#34;&gt;&lt;img src=&#34;https://docs.Devprime.io/images/quick-start/docker/kafka/kafdrop-topic.png&#34; alt=&#34;Kafdrop&#34;&gt;&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Visualizando mensagens no Kafka&lt;/strong&gt;&lt;br&gt;
Ao utilizar o microsserviço enviaremos eventos pelo Kafka e visualizaremos por meio da ferramenta Kafdrop clicando no tópico e depois em &amp;ldquo;View Messages&amp;rdquo;.&lt;/p&gt;
&lt;h1 id=&#34;img-srcimagesquick-startdockerkafkakafdrop-topic-messagespng-altkafdrop&#34;&gt;&lt;img src=&#34;https://docs.Devprime.io/images/quick-start/docker/kafka/kafdrop-topic-messages.png&#34; alt=&#34;Kafdrop&#34;&gt;&lt;/h1&gt;

      </description>
    </item>
    
    <item>
      <title>Quick-Start: Docker networking</title>
      <link>https://docs.Devprime.io/pt-br/quick-start/docker/network/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://docs.Devprime.io/pt-br/quick-start/docker/network/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Criando uma rede virtual no Docker&lt;/strong&gt;&lt;br&gt;
Em nossas demonstrações utilizaremos uma &lt;a href=&#34;https://docs.docker.com/network/&#34;&gt;rede virtual&lt;/a&gt; &amp;lsquo;Devprime&amp;rsquo; unificando a comunicação entre todos os containers utilizados. Utilize o comando create.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Criando uma rede virtual Devprime&lt;br&gt;
&lt;code&gt;docker network create Devprime&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Listando redes existente &lt;br&gt;
&lt;code&gt;docker network list&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Excluindo uma rede virtual&lt;br&gt;
&lt;code&gt;docker network rm Devprime&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
  </channel>
</rss>
