{"id":35567,"date":"2024-06-19T11:35:56","date_gmt":"2024-06-19T14:35:56","guid":{"rendered":"https:\/\/www.locaweb.com.br\/ajuda\/?post_type=ht_kb&#038;p=35567"},"modified":"2024-06-24T11:58:19","modified_gmt":"2024-06-24T14:58:19","slug":"install-docker-ubuntu","status":"publish","type":"ht_kb","link":"https:\/\/www.locaweb.com.br\/ajuda\/wiki\/install-docker-ubuntu\/","title":{"rendered":"Docker no Ubuntu: como instalar?"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">A <\/span><a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/o-que-e-docker-e-por-que-usar\/\"><span style=\"font-weight: 400;\">Docker<\/span><\/a><span style=\"font-weight: 400;\"> \u00e9 uma plataforma popular que facilita a cria\u00e7\u00e3o, gest\u00e3o e execu\u00e7\u00e3o de aplicativos em cont\u00eaineres. Independentemente das diferen\u00e7as entre os ambientes de desenvolvimento e produ\u00e7\u00e3o, o software funciona de forma uniforme em cont\u00eaineres, que o isolam do ambiente ao seu redor.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Para administradores de sistemas e desenvolvedores que buscam agilidade e consist\u00eancia na implanta\u00e7\u00e3o de aplica\u00e7\u00f5es, essa tecnologia \u00e9 especialmente \u00fatil. Este guia descrever\u00e1 detalhadamente como instalar a Docker Engine no Ubuntu, abordando desde os pr\u00e9-requisitos at\u00e9 os v\u00e1rios m\u00e9todos de instala\u00e7\u00e3o, incluindo as etapas subsequentes ap\u00f3s a configura\u00e7\u00e3o inicial.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Como instalar a Docker Engine no Ubuntu?<\/span><\/h2>\n<h3><span style=\"font-weight: 400;\">Pr\u00e9-requisitos<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Antes de iniciar a instala\u00e7\u00e3o do Docker no Ubuntu, verifique se o sistema atende a algumas necessidades b\u00e1sicas. Verifique se seu sistema est\u00e1 atualizado e se voc\u00ea tem uma vers\u00e3o recente do Ubuntu instalada. Al\u00e9m disso, possuir privil\u00e9gios de superusu\u00e1rio (root) ou acesso a uma conta com permiss\u00f5es sudo \u00e9 essencial.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Como instalar o Ubuntu<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Se o Ubuntu ainda n\u00e3o for instalado em sua m\u00e1quina, a primeira coisa a fazer \u00e9 instalar o sistema operacional. Esta instala\u00e7\u00e3o pode ser feita usando uma m\u00eddia de instala\u00e7\u00e3o (por exemplo, um pendrive boot\u00e1vel) ou em uma m\u00e1quina virtual. Para garantir uma instala\u00e7\u00e3o bem-sucedida e um ambiente operacional est\u00e1vel, certifique-se de seguir todas as instru\u00e7\u00f5es.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Desinstale vers\u00f5es antigas<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Caso voc\u00ea j\u00e1 tenha vers\u00f5es antigas do Docker instaladas, \u00e9 recomend\u00e1vel remov\u00ea-las para evitar conflitos. Isso pode ser feito com os seguintes comandos:<\/span><\/p>\n<pre>sudo apt-get remove docker docker-engine docker.io containerd runc<\/pre>\n<h3><span style=\"font-weight: 400;\">Formas de instala\u00e7\u00e3o<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Existem v\u00e1rias maneiras de instalar o Docker no Ubuntu, cada uma com suas pr\u00f3prias vantagens. Aqui est\u00e3o tr\u00eas m\u00e9todos comuns:<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Usando o apt repositor<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">1 &#8211; Atualize o \u00edndice de pacotes:<\/span><\/p>\n<pre>sudo apt-get update<\/pre>\n<p><span style=\"font-weight: 400;\">2 &#8211; Instale os pacotes necess\u00e1rios para permitir o uso de reposit\u00f3rios HTTPS:<\/span><\/p>\n<pre>sudo apt-get install apt-transport-https ca-certificates curl software-properties-common<\/pre>\n<p><span style=\"font-weight: 400;\">3 &#8211; Adicione a chave GPG oficial do Docker:<\/span><\/p>\n<pre>curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo apt-key add -<\/pre>\n<p><span style=\"font-weight: 400;\">4 &#8211; Adicione o reposit\u00f3rio do Docker \u00e0s fontes APT:<\/span><\/p>\n<pre>sudo add-apt-repository \"deb [arch=amd64] https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable\"<\/pre>\n<p><span style=\"font-weight: 400;\">5 &#8211; Atualize o \u00edndice de pacotes novamente e instale a Docker Engine:<\/span><\/p>\n<pre>sudo apt-get update\r\n\r\nsudo apt-get install docker-ce docker-ce-cli containerd.io<\/pre>\n<h4><span style=\"font-weight: 400;\">Usando o arquivo &#8220;deb&#8221;<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Outra op\u00e7\u00e3o \u00e9 baixar diretamente o arquivo .deb do site do Docker e instal\u00e1-lo manualmente<\/span><\/p>\n<p><span style=\"font-weight: 400;\">1 &#8211; Baixe o arquivo .deb:<\/span><\/p>\n<pre>curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/dists\/$(lsb_release -cs)\/pool\/stable\/amd64\/docker-ce_&lt;version&gt;~3-0~ubuntu-$(lsb_release -cs)_amd64.deb -o docker-ce.deb<\/pre>\n<p><span style=\"font-weight: 400;\">2 &#8211; Instale o pacote:<\/span><\/p>\n<pre>sudo dpkg -i docker-ce.deb\r\n\r\nsudo apt-get install -f<\/pre>\n<h4><span style=\"font-weight: 400;\">Usando o &#8220;convenience script&#8221;<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Para facilitar ainda mais a instala\u00e7\u00e3o, voc\u00ea pode usar o script de conveni\u00eancia do Docker:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">1 &#8211; Execute o script:<\/span><\/p>\n<pre>curl -fsSL https:\/\/get.docker.com | sh<\/pre>\n<h2><span style=\"font-weight: 400;\">Pr\u00f3ximos passos<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">\u00c9 fundamental verificar se a instala\u00e7\u00e3o do Docker foi conclu\u00edda usando o comando docker-version. Em seguida, voc\u00ea pode come\u00e7ar a usar os recursos do Docker, como a cria\u00e7\u00e3o e administra\u00e7\u00e3o de cont\u00eaineres, imagens e volumes.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Familiarizar-se com os comandos b\u00e1sicos do Docker e saber como integrar essa ferramenta ao fluxo de trabalho existente ser\u00e1 essencial para que desenvolvedores e administradores maximizem o potencial dessa poderosa plataforma.<\/span><\/p>\n<h4><b>Veja se o Docker foi instalado corretamente:<\/b><\/h4>\n<pre>docker \u2013version<\/pre>\n<p><span style=\"font-weight: 400;\">Este comando deve retornar a vers\u00e3o do Docker instalada, confirmando que a instala\u00e7\u00e3o foi bem-sucedida.<\/span><\/p>\n<pre>Execute o comando \"hello-world\"<\/pre>\n<p><span style=\"font-weight: 400;\">Para garantir que o Docker est\u00e1 funcionando corretamente, execute um cont\u00eainer de teste:<\/span><\/p>\n<pre>sudo docker run hello-world<\/pre>\n<p><span style=\"font-weight: 400;\">Este comando baixa uma imagem de teste do Docker Hub e executa um cont\u00eainer que exibe uma mensagem de boas-vindas. Se voc\u00ea visualizar a mensagem &#8220;Hello from Docker!&#8221;, significa que a instala\u00e7\u00e3o e a configura\u00e7\u00e3o b\u00e1sica foram conclu\u00eddas com sucesso.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Por padr\u00e3o, o Docker requer privil\u00e9gios de superusu\u00e1rio para executar seus comandos. Para evitar a necessidade de usar sudo em cada comando Docker, adicione seu usu\u00e1rio ao grupo Docker:<\/span><\/p>\n<pre>sudo usermod -aG docker $USER<\/pre>\n<p><span style=\"font-weight: 400;\">Depois de executar este comando, saia e entre novamente na sua conta para que as altera\u00e7\u00f5es tenham efeito.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Com o Docker instalado, \u00e9 \u00fatil aprender alguns comandos b\u00e1sicos para come\u00e7ar a gerenciar cont\u00eaineres e imagens:<\/span><\/p>\n<h4><b>Listar imagens: Exibe todas as imagens Docker baixadas.<\/b><\/h4>\n<pre>docker images<\/pre>\n<h4><b>Listar cont\u00eaineres: Exibe os cont\u00eaineres em execu\u00e7\u00e3o.<\/b><\/h4>\n<pre>docker os<\/pre>\n<h4><b>Para listar todos os cont\u00eaineres, inclusive os que est\u00e3o parados, use:<\/b><\/h4>\n<pre><span style=\"font-weight: 400;\">docker ps -a<\/span><\/pre>\n<h4><b>Iniciar um cont\u00eainer: Inicia um cont\u00eainer baseado em uma imagem espec\u00edfica.<\/b><\/h4>\n<pre>docker run -it ubuntu \/bin\/bash<\/pre>\n<p><span style=\"font-weight: 400;\">Este comando inicia um cont\u00eainer com a imagem do Ubuntu e abre um terminal Bash interativo.<\/span><\/p>\n<h4><b>Parar um cont\u00eainer: Para um cont\u00eainer em execu\u00e7\u00e3o.<\/b><\/h4>\n<pre>docker stop &lt;ID do cont\u00eainer&gt;<\/pre>\n<h4><b>Remover um cont\u00eainer: Remove um cont\u00eainer parado.<\/b><\/h4>\n<pre>docker rm &lt;ID do cont\u00eainer&gt;<\/pre>\n<h4><b>Remover uma imagem: Remove uma imagem Docker.<\/b><\/h4>\n<pre><span style=\"font-weight: 400;\">docker rmi &lt;ID da imagem&gt;<\/span><\/pre>\n<h3><b>Explore o Docker Hub<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Milhares de fotos de cont\u00eaineres p\u00fablicos podem ser encontradas no Docker Hub. Encontrar imagens do software que voc\u00ea precisa no Docker Hub. O comando docker pull pode ser usado para baixar uma imagem:<\/span><\/p>\n<pre>docker pull &lt;nome_da_imagem&gt;<\/pre>\n<h3><span style=\"font-weight: 400;\">Crie suas pr\u00f3prias imagens<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Com o Docker, voc\u00ea tamb\u00e9m pode criar suas pr\u00f3prias imagens personalizadas. Comece criando um Dockerfile, que \u00e9 um script de constru\u00e7\u00e3o que define o ambiente e as instru\u00e7\u00f5es necess\u00e1rias para construir uma imagem Docker. Aqui est\u00e1 um exemplo b\u00e1sico de um Dockerfile que configura um ambiente Node.js:<\/span><\/p>\n<pre># Use uma imagem base oficial do Node.js\r\n\r\nFROM node:14\r\n\r\n\u00a0\r\n\r\n# Crie e defina o diret\u00f3rio de trabalho\r\n\r\nWORKDIR \/app\r\n\r\n\u00a0\r\n\r\n# Copie o package.json e o package-lock.json\r\n\r\nCOPY package*.json .\/\r\n\r\n\u00a0\r\n\r\n# Instale as depend\u00eancias\r\n\r\nRUN npm install\r\n\r\n\u00a0\r\n\r\n# Copie o restante do c\u00f3digo da aplica\u00e7\u00e3o\r\n\r\nCOPY . .\r\n\r\n\u00a0\r\n\r\n# Exponha a porta que a aplica\u00e7\u00e3o vai usar\r\n\r\nEXPOSE 8080\r\n\r\n\u00a0\r\n\r\n# Comando para rodar a aplica\u00e7\u00e3o\r\n\r\nCMD [\"node\", \"app.js\"]<\/pre>\n<h4><b>Para construir uma imagem a partir deste Dockerfile, use o comando:<\/b><\/h4>\n<pre>docker build -t nome_da_imagem .<\/pre>\n<h3><span style=\"font-weight: 400;\">Automatize tarefas com Docker Compose<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">O Docker Compose \u00e9 uma ferramenta que facilita a cria\u00e7\u00e3o e administra\u00e7\u00e3o de aplica\u00e7\u00f5es Docker multi-cont\u00eainer. Para especificar os servi\u00e7os, redes e volumes que sua aplica\u00e7\u00e3o precisa, voc\u00ea pode criar um arquivo docker-compose.yml. Um exemplo b\u00e1sico de um arquivo docker-compose.yml para uma aplica\u00e7\u00e3o web b\u00e1sica est\u00e1 abaixo:<\/span><\/p>\n<pre>version: '3'\r\n\r\nservices:\r\n\r\n\u00a0\u00a0web:\r\n\r\nimage: nginx\r\n\r\nports:\r\n\r\n\u00a0\u00a0 - \"80:80\"\r\n\r\n\u00a0\u00a0app:\r\n\r\nimage: nome_da_imagem\r\n\r\nbuild: .\r\n\r\nports:\r\n\r\n\u00a0\u00a0 - \"8080:8080\"<\/pre>\n<h4><b>Para iniciar a aplica\u00e7\u00e3o definida no docker-compose.yml, use o comando:<\/b><\/h4>\n<pre>docker-compose up<\/pre>\n<h3><span style=\"font-weight: 400;\">Monitore e mantenha seus cont\u00eaineres<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Manter seus cont\u00eaineres e imagens Docker atualizados e monitorados \u00e9 essencial para garantir a seguran\u00e7a e a performance. Algumas boas pr\u00e1ticas incluem:<\/span><\/p>\n<ul>\n<li><span style=\"font-weight: 400;\">Atualizar imagens regularmente: Mantenha suas imagens atualizadas para se beneficiar de melhorias e corre\u00e7\u00f5es de seguran\u00e7a.<\/span><\/li>\n<\/ul>\n<pre>docker pull &lt;nome_da_imagem&gt;<\/pre>\n<ul>\n<li><span style=\"font-weight: 400;\">Limpar cont\u00eaineres e imagens n\u00e3o utilizados: Libere espa\u00e7o removendo cont\u00eaineres e imagens desnecess\u00e1rios.<\/span><\/li>\n<\/ul>\n<pre>docker system prune<\/pre>\n<ul>\n<li><span style=\"font-weight: 400;\">Monitorar cont\u00eaineres: Utilize ferramentas como Prometheus e Grafana para monitorar a performance dos seus cont\u00eaineres em tempo real.<\/span><\/li>\n<\/ul>\n<h3><span style=\"font-weight: 400;\">Conclus\u00e3o<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">O primeiro passo para usar essa poderosa tecnologia de cont\u00eaineres \u00e9 instalar e configurar o Docker no Ubuntu. Voc\u00ea estar\u00e1 bem encaminhado para criar, administrar e manter ambientes de cont\u00eaineres escal\u00e1veis e eficientes se seguir os comandos e pr\u00e1ticas sugeridos acima.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Familiarizar-se com o Docker e suas ferramentas complementares tornar\u00e1 a implanta\u00e7\u00e3o de aplicativos mais f\u00e1cil e aumentar\u00e1 significativamente a consist\u00eancia e a flexibilidade dos seus fluxos de trabalho de desenvolvimento e opera\u00e7\u00f5es.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Considere buscar recursos e servi\u00e7os adicionais que podem complementar sua infraestrutura se quiser maximizar a utiliza\u00e7\u00e3o de suas habilidades com Docker e otimizar seus ambientes de desenvolvimento e produ\u00e7\u00e3o. A seguir est\u00e3o links para produtos e servi\u00e7os que podem ser \u00fateis:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.locaweb.com.br\/hospedagem-dedicada\/\"><span style=\"font-weight: 400;\">Hospedagem Dedicada<\/span><\/a><span style=\"font-weight: 400;\">: Solu\u00e7\u00f5es de hospedagem de alto desempenho e seguran\u00e7a para aplica\u00e7\u00f5es cr\u00edticas.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.locaweb.com.br\/servidor-vps\/\"><span style=\"font-weight: 400;\">Cloud VPS<\/span><\/a><span style=\"font-weight: 400;\">: Ideal para projetos que precisam de recursos personalizados porque oferece escalabilidade e flexibilidade com servidores virtuais privados.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Descubra mais sobre o<\/span><a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/o-que-e-docker-e-por-que-usar\/\"> <span style=\"font-weight: 400;\">Docker,<\/span><\/a><span style=\"font-weight: 400;\"> seus benef\u00edcios e como ele pode mudar o desenvolvimento e a implementa\u00e7\u00e3o de suas aplica\u00e7\u00f5es.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.locaweb.com.br\/blog\/categoria\/temas\/codigo-aberto\/dns\/\"><span style=\"font-weight: 400;\">DNS<\/span><\/a><span style=\"font-weight: 400;\">: Descubra como o DNS \u00e9 importante e como configur\u00e1-lo para garantir a disponibilidade e a performance dos seus servi\u00e7os.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/python\/\"><span style=\"font-weight: 400;\">Python<\/span><\/a><span style=\"font-weight: 400;\">: Aprenda a usar o Python, uma linguagem vers\u00e1til e poderosa para desenvolvimento web, ci\u00eancia da informa\u00e7\u00e3o e automa\u00e7\u00e3o.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/o-que-e-javascript\/\"><span style=\"font-weight: 400;\">JavaScript<\/span><\/a><span style=\"font-weight: 400;\">: Descubra o JavaScript, a linguagem de programa\u00e7\u00e3o necess\u00e1ria para o desenvolvimento web contempor\u00e2neo.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/php\/\"><span style=\"font-weight: 400;\">PHP<\/span><\/a><span style=\"font-weight: 400;\">: Aprenda sobre PHP, uma das linguagens de programa\u00e7\u00e3o mais utilizadas para criar sites e aplica\u00e7\u00f5es web que permanecem din\u00e2micos.<\/span><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>A Docker \u00e9 uma plataforma popular que facilita a cria\u00e7\u00e3o, gest\u00e3o e execu\u00e7\u00e3o de aplicativos em cont\u00eaineres. Independentemente das diferen\u00e7as entre os ambientes de desenvolvimento e produ\u00e7\u00e3o, o software funciona de forma uniforme em cont\u00eaineres, que o isolam do ambiente ao seu redor.\u00a0 Para administradores de sistemas e desenvolvedores que&#8230;<\/p>\n","protected":false},"author":29,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[118],"ht-kb-tag":[],"class_list":["post-35567","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-vps-locaweb"],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/35567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/comments?post=35567"}],"version-history":[{"count":2,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/35567\/revisions"}],"predecessor-version":[{"id":35584,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/35567\/revisions\/35584"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/media?parent=35567"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-category?post=35567"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-tag?post=35567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}