{"id":80,"date":"2024-12-27T18:52:43","date_gmt":"2024-12-27T21:52:43","guid":{"rendered":"https:\/\/recover.rdconsolo.com.br\/?p=80"},"modified":"2024-12-27T18:55:50","modified_gmt":"2024-12-27T21:55:50","slug":"docker-basico-com-ubuntu-server","status":"publish","type":"post","link":"https:\/\/rdconsolo.com.br\/?p=80","title":{"rendered":"Docker B\u00e1sico com Ubuntu Server"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Seguem informa\u00e7\u00f5es de refer\u00eancia \u00fateis para criar e executar uma imagem docker para um servidor Ubuntu com finalidade de uso no desenvolvimento de software para web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Primeiro, o b\u00e1sico. Criamos um cont\u00eainer a partir de uma imagem. Essa imagem pode ser baixada do Docker Hub.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker pull ubuntu:bionic<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Estou usando a tag bionic para me referir a uma vers\u00e3o espec\u00edfica igual a mesma utilizada no servidor de produ\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esse comando acima vai baixar a imagem para nossa m\u00e1quina que j\u00e1 possui o servi\u00e7o do doker rodando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma vez que a imagem est\u00e1 baixada, vamos criar um cont\u00eainer a partir dela e expor as portas que ser\u00e3o utilizadas com o comando abaixo.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker run --name bionic -p 8089:80 -p 5439:5432 -it -i ubuntu:bionic<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Essas portas correspondem aos seguintes servi\u00e7os respectivamente:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>apache2 web server<\/li>\n\n\n\n<li>postgresql database server<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Esse comando (docker run \u2026 -it) vai te enviar para uma sess\u00e3o dentro do cont\u00eainer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 aconselh\u00e1vel executar uma atualiza\u00e7\u00e3o de pacotes antes de qualquer outro comando.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Volumes<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Por padr\u00e3o um cont\u00eainer descarta os dados gravados quando terminado. Para persistir os dados usamos os Volumes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O comando abaixo cria um volume com o nome de bionic-vol.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker volume create bionic-vol<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Para usar esse volume, montamos o mesmo no comando run do cont\u00eainer.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker run \\\n--name bionic \\\n-p 8089:80 -p 5439:5432 \\\n--mount source=bionic-vol,target=\/app \\\n-it -i ubuntu:bionic<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dessa forma, uma pasta \/app poder\u00e1 ser usada para armazenar de forma persistente qualquer arquivo ou estrutura de pastas (ex: local onde o servidor de banco de dados guarda seus arquivos).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Agora vamos aprimorar esse comando para atender a necessidade de um desenvolvedor web com persist\u00eancia de dados e apontamento da pasta do projeto no host pelo web server do cont\u00eainer.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker run \\\n--name bionic \\\n-p 8089:80 -p 5439:5432 \\\n-v $HOME\/Projetos:\/var\/www\/html \\\n-v $HOME\/docker\/volumes\/postgres:\/var\/lib\/postgresql\/data \\\n-it -i ubuntu:bionic<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Comandos<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Comandos para utilizar para manuten\u00e7\u00e3o do cont\u00eainer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>docker ps \u2013 lista cont\u00eaineres em execu\u00e7\u00e3o<\/li>\n\n\n\n<li>docker attach bionic \u2013 conecta o terminal do container<\/li>\n\n\n\n<li>docker volume ls \u2013 lista volumes instalados<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Documenta\u00e7\u00e3o oficial em <a href=\"https:\/\/docs.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.docker.com\/<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seguem informa\u00e7\u00f5es de refer\u00eancia \u00fateis para criar e executar uma imagem docker para um servidor Ubuntu com finalidade de uso no desenvolvimento de software para web. Primeiro, o b\u00e1sico. Criamos um cont\u00eainer a partir de uma imagem. Essa imagem pode ser baixada do Docker Hub. docker pull ubuntu:bionic Estou usando a tag bionic para me &hellip; <a href=\"https:\/\/rdconsolo.com.br\/?p=80\" class=\"more-link\">Continue lendo<span class=\"screen-reader-text\"> &#8220;Docker B\u00e1sico com Ubuntu Server&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[17,18],"class_list":["post-80","post","type-post","status-publish","format-standard","hentry","category-devops","tag-docker","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/rdconsolo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/80","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rdconsolo.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rdconsolo.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rdconsolo.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rdconsolo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=80"}],"version-history":[{"count":1,"href":"https:\/\/rdconsolo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/80\/revisions"}],"predecessor-version":[{"id":81,"href":"https:\/\/rdconsolo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/80\/revisions\/81"}],"wp:attachment":[{"href":"https:\/\/rdconsolo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=80"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rdconsolo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=80"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rdconsolo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}