{"id":6841,"date":"2022-12-22T09:23:05","date_gmt":"2022-12-22T09:23:05","guid":{"rendered":"https:\/\/www.homehost.com.br\/blog\/?p=6841"},"modified":"2024-01-03T15:58:40","modified_gmt":"2024-01-03T18:58:40","slug":"como-instalar-php-e-apache-usando-docker","status":"publish","type":"post","link":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/","title":{"rendered":"Como instalar PHP e Apache usando Docker"},"content":{"rendered":"\n<p>Neste tutorial voc\u00ea vai aprender <strong>como instalar PHP e Apache usando Docker<\/strong>!<strong> <\/strong>Inicialmente, faremos o download da imagem Docker contendo o PHP e o Apache. Em seguida, criaremos um container para rodar o PHP e o Apache no Docker. E, por fim, voc\u00ea aprender\u00e1 diversos comandos para gerenciar seu servidor Apache junto ao PHP. <\/p>\n\n\n\n<p>Ou seja, ao final desse tutorial voc\u00ea ter\u00e1 um servidor Web Apache rodando e com o PHP instalado!<\/p>\n\n\n\n<p>Este tutorial \u00e9 baseado no v\u00eddeo &#8220;<a href=\"https:\/\/www.youtube.com\/watch?v=7VCNiulbQEY\" target=\"_blank\" rel=\"noreferrer noopener\">Como Instalar o PHP e Apache usando Docker<\/a>&#8220;, dispon\u00edvel no <a href=\"https:\/\/www.youtube.com\/c\/Homehost_brasil\" target=\"_blank\" rel=\"noreferrer noopener\">Canal da Homehost<\/a> no Youtube!<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Como instalar PHP e Apache usando Docker\" width=\"800\" height=\"450\" src=\"https:\/\/www.youtube.com\/embed\/7VCNiulbQEY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">T\u00f3picos<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#oquesao\">O que s\u00e3o o PHP, o Apache e o Docker?<\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#conteineres\">O que \u00e9 um Cont\u00eainer Docker?<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/##instalacao\">Instala\u00e7\u00e3o do PHP e do Apache usando Docker<\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#primeiropasso\">Primeiro Passo: Baixando a imagem Docker do PHP e do Apache<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#segundopasso\">Segundo passo: Criando e rodando o Container do PHP e Apache no Docker<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#comandos\">Comandos para utilizarmos o PHP e Apache usando Docker<\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#listar\">Listando, iniciando e finalizando os Containers no Docker<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#arquivos\">Enviando arquivos para o volume do servidor Apache<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#conclusao\">Pr\u00f3ximos passos<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"oquesao\">O que s\u00e3o o PHP, o Apache e o Docker?<\/h2>\n\n\n\n<p>O <strong>PHP<\/strong>, \u00e9 uma linguagem de programa\u00e7\u00e3o muito utilizada no Desenvolvimento Web. Se destaca por ser uma linguagem simples, vers\u00e1til, e possuir uma integra\u00e7\u00e3o muito simples com o <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/html5\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTML<\/a>. O pr\u00f3prio <a href=\"https:\/\/www.homehost.com.br\/blog\/wordpress\/como-instalar-o-wordpress\/\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress <\/a>\u00e9 desenvolvido em PHP.<\/p>\n\n\n\n<p>O PHP atua no lado do servidor, portanto, podemos criar sites din\u00e2micos, sistemas, extens\u00f5es, e diversas outras aplica\u00e7\u00f5es web com esta linguagem. Apesar de ser uma linguagem simples, de f\u00e1cil aprendizado, tamb\u00e9m possu\u00ed recursos avan\u00e7ados, para programadores mais experientes. Possu\u00edmos artigos falando sobre &#8220;<a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/o-que-e-php\/\" target=\"_blank\" rel=\"noreferrer noopener\">O que \u00e9 o PHP<\/a>&#8220;, sobre a &#8220;<a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/php-8\/\">vers\u00e3o 8.0 do PHP<\/a>&#8221; e diversos outros tutoriais ensinando a programar com o PHP.<\/p>\n\n\n\n<p>O <strong>Apache <\/strong>\u00e9 um <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/servidor-web\/\" target=\"_blank\" rel=\"noreferrer noopener\">Servidor Web<\/a> que permite e gerencia a comunica\u00e7\u00e3o entre m\u00e1quina (servidor) e internet. Portanto, o apache \u00e9 respons\u00e1vel por servi suas p\u00e1ginas na internet. Ele possu\u00ed c\u00f3digo aberto e \u00e9 gratuito para uso, at\u00e9 mesmo para uso comercial. Tamb\u00e9m \u00e9 um software est\u00e1vel e bastante confi\u00e1vel, al\u00e9m de ser constantemente atualizado e muito popular.<\/p>\n\n\n\n<p>O <strong>Docker <\/strong>\u00e9 uma ferramenta que facilita o desenvolvimento de aplica\u00e7\u00f5es em ambientes isolados. Portanto, \u00e9 muito utilizado para gerenciar a infraestrutura da aplica\u00e7\u00e3o de forma simples e f\u00e1cil.<\/p>\n\n\n\n<p>Para isso, o Docker cria &#8220;<strong>containers<\/strong>&#8221; a partir de imagens de uma aplica\u00e7\u00e3o. Dessa forma, podemos reproduzir essa mesma aplica\u00e7\u00e3o em diversas plataformas, de qualquer porte. Portanto, uma vez funcionando a aplica\u00e7\u00e3o na sua m\u00e1quina, voc\u00ea conseguir\u00e1 rodar essa aplica\u00e7\u00e3o em qualquer outro ambiente com Docker.<\/p>\n\n\n\n<p>Por causa dessas caracter\u00edsticas, o Docker vem sendo cada vez mais utilizado e se tornando um ferramenta importante para os desenvolvedores. Entender isso \u00e9 muito importante para aprender como instalar o PHP e o apache usando o Docker!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"conteineres\">O que \u00e9 um Container Docker?<\/h3>\n\n\n\n<p>Segundo a descri\u00e7\u00e3o do pr\u00f3prio Docker sobre <a href=\"https:\/\/www.docker.com\/resources\/what-container\/\">o que s\u00e3o cont\u00eaineres<\/a>: <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;<em>Um cont\u00eainer \u00e9 uma unidade padr\u00e3o de software que empacota o c\u00f3digo e todas as suas depend\u00eancias para que o aplicativo seja executado de forma r\u00e1pida e confi\u00e1vel de um ambiente de computa\u00e7\u00e3o para outro.<\/em>&#8220;<\/p>\n<\/blockquote>\n\n\n\n<p>Em geral, um container Docker nada mais \u00e9 que um ambiente isolado. Seu funcionamento pode se assemelhar com o funcionamento das m\u00e1quina virtuais (VMs). Entretanto, diferente das VMs, um container roda cada servi\u00e7o de forma isolada e independente.<\/p>\n\n\n\n<p>No ecossistema do Docker, podemos utilizar o site <a href=\"https:\/\/hub.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">DockerHub<\/a> para encontrar imagens prontas para utilizarmos, junto a suas documenta\u00e7\u00f5es. O Dockerhub \u00e9 um reposit\u00f3rio publico do Docker, com diversas imagens dispon\u00edveis. Portanto, voc\u00ea pode utilizar uma imagem Docker oficial do pr\u00f3prio PHP e Apache para iniciar um container.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"instalacao\">Instala\u00e7\u00e3o do PHP e Apache usando Docker<\/h2>\n\n\n\n<p>Antes de iniciarmos o tutorial, \u00e9 necess\u00e1rio que o docker j\u00e1 esteja instalado em sua m\u00e1quina. Voc\u00ea pode realizar o download e instala\u00e7\u00e3o do Docker Desktop atrav\u00e9s da <a href=\"https:\/\/www.docker.com\/get-started\/\" target=\"_blank\" rel=\"noreferrer noopener\">P\u00e1gina &#8220;Get Started&#8221;<\/a> do Docker.<\/p>\n\n\n\n<p>Independente de voc\u00ea utilizar Linux, Mac ou Windows, os processos descritos aqui ser\u00e3o os mesmos.<\/p>\n\n\n\n<p>Apesar do Docker Desktop nos permitir o uso do Docker de forma visual, vamos utilizar o prompt de comandos (terminal) para interagir com o Docker.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"primeiropasso\">Primeiro Passo: Baixando a imagem Docker do PHP e do Apache<\/h3>\n\n\n\n<p>Para baixar o PHP no Docker, vamos utilizar uma <a href=\"https:\/\/hub.docker.com\/_\/php\" target=\"_blank\" rel=\"noreferrer noopener\">imagem oficial do PHP<\/a>, dispon\u00edvel no <a href=\"https:\/\/hub.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Dockerhub<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/imagem-do-PHP-no-Docker-hub.jpg\" alt=\"Imagem oficial do PHP no Dockerhub\" class=\"wp-image-6859\" width=\"1088\" height=\"247\" \/><\/figure>\n\n\n\n<p>Dentro da documenta\u00e7\u00e3o no Dockerhub, podemos escolher entre diversas imagens do PHP. Para facilitar a nossa vida, vamos utilizar uma imagem do PHP j\u00e1 com o Apache. Portanto, recomendamos a imagem <strong>php:7.4.30-apache<\/strong>. Essa imagem cont\u00e9m a vers\u00e3o 7.4 do PHP.<\/p>\n\n\n\n<p>Portanto, no seu prompt de comando (terminal), digite os seguintes comandos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker pull php:7.4.30-apache<\/code><\/pre>\n\n\n\n<p>Ao fazer isso, o docker ir\u00e1 buscar a imagem do PHP com Apache no Dockerhub e far\u00e1 o download dela. Pode levar alguns minutos \u00e0 depender de sua conex\u00e3o com a internet.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/Baixando-a-imagem-do-PHP-e-do-Apache-no-Docker.jpg\" alt=\"Baixando a imagem do PHP com Apache no Docker\" class=\"wp-image-6860\" width=\"908\" height=\"452\" \/><\/figure>\n\n\n\n<p>Ap\u00f3s baixar a imagem, voc\u00ea pode usar o comando abaixo para listar as imagens Docker que voc\u00ea possu\u00ed na sua m\u00e1quina:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker images<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/comando-docker-images.jpg\" alt=\"Comando docker images\" class=\"wp-image-6861\" width=\"569\" height=\"164\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"segundopasso\">Segundo passo: Criando e rodando o Container do PHP e Apache no Docker<\/h3>\n\n\n\n<p>Ap\u00f3s baixar a imagem do PHP e Apache, agora vamos criar um container com a imagem baixada.<\/p>\n\n\n\n<p> Para isso vamos usar o comando Docker run com o reposit\u00f3rio do PHP e a tag da imagem desejada. Como o apache \u00e9 um Servidor Web, ser\u00e1 utilizado porta da nossa rede. Portanto, vamos declarar uma porta. <\/p>\n\n\n\n<p>Ao final, voc\u00ea pode utilizar o comando abaixo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -p 80:80 -d php:7.4.30-apache<\/code><\/pre>\n\n\n\n<p>O comando <strong>-p <\/strong>serve para definir a porta. No comando acima, utilizamos a porta 80:80 por ser um padr\u00e3o para servidores apache e nos permitir um r\u00e1pido acesso no navegador com o endere\u00e7o &#8220;<strong>localhost<\/strong>&#8220;. Entretanto, voc\u00ea pode optar por outra porta.<\/p>\n\n\n\n<p>J\u00e1 o comando <strong>-d<\/strong> serve para definirmos o reposit\u00f3rio e a tag da imagem desejada. No caso, vamos utilizar a imagem baixada anteriormente, ou seja: &#8220;<strong>php:7.4.30-apache<\/strong>&#8220;.<\/p>\n\n\n\n<p>Ao executar o comando acima, o Docker j\u00e1 vai criar e rodar um container com o PHP e o Apache para voc\u00ea! Vale ressaltar que, caso a porta j\u00e1 esteja em uso por outro servi\u00e7o, o seu container n\u00e3o rodar\u00e1.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"comandos\">Comandos para utilizarmos o PHP e Apache usando Docker<\/h2>\n\n\n\n<p>Apesar de j\u00e1 estarmos com o Apache e o PHP rodando em nosso container, ainda \u00e9 necess\u00e1rio aprender como interagir com eles. Portanto, nos t\u00f3picos a seguir, voc\u00ea aprender\u00e1 alguns comandos do Docker que ser\u00e3o bastante uteis para interagir com o nosso container do PHP e Apache.<\/p>\n\n\n\n<p>Antes de prosseguir, \u00e9 importante saber que a imagem do Apache tamb\u00e9m gera um volume para armazenamento de arquivos e dados. Isto \u00e9, dentro desse volume ser\u00e3o &#8220;armazenados&#8221; os arquivos do servidor Apache. Portanto, precisaremos enviar os arquivos de nossa m\u00e1quina para dentro desse volume. Ao final desse t\u00f3pico, dentre diversos outros comandos, voc\u00ea tamb\u00e9m aprender\u00e1 como enviar os arquivos para o diret\u00f3rio publico do servidor apache, e vice versa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"listar\">Listando, iniciando e finalizando os Containers no Docker<\/h3>\n\n\n\n<p>Para podermos listar todos os containers dispon\u00edveis no nosso Docker, devemos utilizar o comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps -a<\/code><\/pre>\n\n\n\n<p>Observe que ser\u00e1 listado todos os containers dispon\u00edveis, mesmo que n\u00e3o estejam em execu\u00e7\u00e3o. Al\u00e9m disso, este comando tamb\u00e9m nos fornecer\u00e1 o <strong>CONTAINER ID<\/strong>, que ser\u00e1 \u00fatil para os pr\u00f3ximos comandos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/comando-docker-ps.jpg\" alt=\"Listando os containers do Docker com o comando docker ps -a\" class=\"wp-image-6862\" width=\"1136\" height=\"134\" \/><\/figure>\n\n\n\n<p>Para parar a execu\u00e7\u00e3o de todos os containers no Docker, basta digitar o comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker stop<\/code><\/pre>\n\n\n\n<p>Portanto, ao executar o comando, todos os container que estejam executando ser\u00e3o interrompidos.<\/p>\n\n\n\n<p>Entretanto, caso queira para apenas um container espec\u00edfico, devemos indicar o ID do container. Por exemplo, para finalizar o container com id &#8220;fbdb894625f1&#8221;, executar\u00edamos o seguinte comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker stop fbdb894625f1<\/code><\/pre>\n\n\n\n<p>Para iniciar um container, o comando a ser utilizado \u00e9 o start, seguido do id do container que voc\u00ea quer executar. Por exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker start fbdb894625f1<\/code><\/pre>\n\n\n\n<p>Dessa forma, o container com o ID selecionado ser\u00e1 iniciado e rodar\u00e1 na sua m\u00e1quina!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/docker-stop-e-docker-start.jpg\" alt=\"Usando o docker stop e docker start\" class=\"wp-image-6863\" width=\"361\" height=\"90\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"arquivos\">Enviando arquivos para o volume do servidor Apache<\/h3>\n\n\n\n<p>Conforme citamos anteriormente, a imagem do Apache tamb\u00e9m inicia um volume no Docker onde ser\u00e3o armazenado os arquivos do nosso servidor Apache. Portanto, podemos utilizar o pr\u00f3prio docker para acessar e interagir com o diret\u00f3rio desse volume.<\/p>\n\n\n\n<p>Vale ressaltar, que o Apache utiliza o diret\u00f3rio &#8220;\/www\/html\/&#8221; como raiz dos arquivos do nosso site. Portanto, para acessar esse diret\u00f3rio usando o docker, precisaremos do ID do containers. Portanto, utilizando o id &#8220;fbdb894625f1&#8221; como exemplo, utilizaremos como caminho: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fbdb894625f1:\/var\/www\/html<\/code><\/pre>\n\n\n\n<p>Para prosseguir, \u00e9 necess\u00e1rio que o container com o PHP e o Apache j\u00e1 esteja rodando, e que voc\u00ea saiba o ID deste container.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Enviando os arquivos da m\u00e1quina local para o container<\/h4>\n\n\n\n<p>Inicialmente, acesse atrav\u00e9s do prompt de comando (terminal) o diret\u00f3rio da sua m\u00e1quina onde est\u00e3o os arquivos que voc\u00ea deseja enviar para o servidor apache. Por exemplo, para navegar at\u00e9 o diret\u00f3rio &#8220;C:\/dev&#8221; do seu computador, voc\u00ea pode usar o comando abaixo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd C:\\dev\\<\/code><\/pre>\n\n\n\n<p>Em seguida, devo utilizar o comando &#8220;docker cp&#8221; para copiar os arquivos desejados para dentro do meu container. Por exemplo, caso dentro do meu diret\u00f3rio C:\/dev\/ eu tenha um arquivo chamado <a href=\"https:\/\/www.homehost.com.br\/blog\/criar-sites\/criar-arquivo-index-html\/\">index.html<\/a>, eu posso copiar ele para o volume do Apache da seguinte forma:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker cp index.html fbdb894625f1:\/var\/www\/html<\/code><\/pre>\n\n\n\n<p>Portanto, ao executar o comando acima, o arquivo &#8220;index.html&#8221; ser\u00e1 copiado para o diret\u00f3rio &#8220;www\/html&#8221; do Apache rodando em seu container!<\/p>\n\n\n\n<p>Entretanto, caso voc\u00ea deseje copiar um diret\u00f3rio inteiro, uma pasta, para dentro do volume, bastaria chamar pelo nome da pasta no lugar do &#8220;index.html&#8221;. Por exemplo, caso dentro do meu diret\u00f3rio C:\/dev\/ tenha uma pasta chamada &#8220;bbbb&#8221;, eu posso copiar ela para o meu apache com o seguinte comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker cp bbbb fbdb894625f1:\/var\/www\/html<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Acessando o terminal do Container<\/h4>\n\n\n\n<p>Nessa etapa, abra o Docker Desktop. Em seguida, v\u00e1 at\u00e9 os &#8220;Containers&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/abrindo-o-terminal-do-container-com-PHP-e-apache-no-docker.jpg\" alt=\"Abrindo o terminal do container com PHP e Apache no docker\" class=\"wp-image-6864\" width=\"1330\" height=\"544\" \/><\/figure>\n\n\n\n<p>Localize o container do PHP e Apache, e clique sobre o \u00edcone da op\u00e7\u00e3o &#8220;open in terminal&#8221;. Dessa forma, o docker vai abrir um terminal do nosso container. <\/p>\n\n\n\n<p>No terminal do Docker, digite o comando &#8220;bash&#8221;. Esse comando vai nos permitir usar os comandos do linux no terminal do docker. Portanto, ao executar o comando &#8220;ls&#8221; ser\u00e1 listado todos os arquivos contidos nesta pasta. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Enviando os arquivos do container para a m\u00e1quina local<\/h4>\n\n\n\n<p>Agora, voc\u00ea vai aprender como fazer o inverso do t\u00f3pico anterior. Isto \u00e9, vamos transferir um arquivo contido no Servidor Apache do nosso container para um diret\u00f3rio do nosso computador. Portanto, utilizaremos o mesmo exemplo anterior. Ou seja, considere que j\u00e1 navegamos (atrav\u00e9s do terminal) at\u00e9 a pasta &#8220;C:\\dev\\&#8221; da nossa m\u00e1quina e que nosso container j\u00e1 esta executando. <\/p>\n\n\n\n<p>Digamos que, dentro do nosso Apache tenha um arquivo &#8220;index.html&#8221; e queremos copiar ele para dentro do diret\u00f3rio &#8220;C:\/dev\/&#8221; do nosso computador. Portanto, basta usar o comando anterior no terminal, por\u00e9m da seguinte forma:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker cp fbdb894625f1:\/var\/www\/html\/index.html . <\/code><\/pre>\n\n\n\n<p>O ponto no final, significa que queremos que o arquivo seja copiado para dentro do diret\u00f3ria que estamos. Entretanto, voc\u00ea tamb\u00e9m pode declarar o diret\u00f3rio de forma direta:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker cp fbdb894625f1:\/var\/www\/html\/index.html C:\\dev\\<\/code><\/pre>\n\n\n\n<p>Pronto! Agora o Docker copiou os arquivos do seu Container para a sua pasta na m\u00e1quina local.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusao\">Pr\u00f3ximos passos<\/h2>\n\n\n\n<p>Se voc\u00ea seguiu o passo a passo corretamente, ent\u00e3o voc\u00ea conseguiu realizar a instala\u00e7\u00e3o do PHP e Apache usando Docker! Portanto, agora voc\u00ea tem uma forma de trabalhar com o PHP e com o Apache diretamente no Docker, de forma profissional e garantindo que vai rodar em qualquer outro ambiente!<\/p>\n\n\n\n<p>Voc\u00ea pode usar esse servidor para criar diversas aplica\u00e7\u00f5es em PHP. Ou seja, voc\u00ea pode criar sites e at\u00e9 mesmo aplica\u00e7\u00f5es mais robustas, utilizando frameworks como o Laravel. Al\u00e9m disso, voc\u00ea tamb\u00e9m pode criar um <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-mariadb-e-phpmyadmin-usando-docker\/\" target=\"_blank\" rel=\"noreferrer noopener\">container com o MySQL ou MariaDB<\/a> e utilizar at\u00e9 mesmo  o <a href=\"https:\/\/www.homehost.com.br\/blog\/wordpress\/como-instalar-o-wordpress\/\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress<\/a>!<\/p>\n\n\n\n<p>Voc\u00ea tamb\u00e9m aprendeu diversos conceitos e comandos para interagir com Docker diretamente pelo terminal! Entretanto, tamb\u00e9m recomendamos a leitura da <a href=\"https:\/\/docs.docker.com\/get-started\/\" target=\"_blank\" rel=\"noreferrer noopener\">se\u00e7\u00e3o &#8220;Get Started&#8221; da documenta\u00e7\u00e3o oficial do Docker<\/a>, que cont\u00e9m diversos exemplos e explica\u00e7\u00f5es para quem est\u00e1 come\u00e7ando com o Docker. Al\u00e9m disso, voc\u00ea tamb\u00e9m pode acompanhar <a href=\"https:\/\/www.homehost.com.br\/blog\">nossas publica\u00e7\u00f5es<\/a> e o nosso <a href=\"https:\/\/www.youtube.com\/c\/Homehost_brasil\" target=\"_blank\" rel=\"noreferrer noopener\">canal no Youtube<\/a>. Estamos sempre trazendo conte\u00fado novo para lhe manter atualizado!<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neste tutorial voc\u00ea vai aprender como instalar PHP e Apache usando Docker! Inicialmente, faremos o download da imagem Docker contendo o PHP e o Apache. Em seguida, criaremos um container para rodar o PHP e o Apache no Docker. E, por fim, voc\u00ea aprender\u00e1 diversos comandos para gerenciar seu servidor Apache junto ao PHP. Ou [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":6857,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_helpful_status":1,"_lmt_disableupdate":"","_lmt_disable":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4,20,6],"tags":[6550,6543,21],"class_list":["post-6841","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvedores","category-php","category-tutoriais","tag-apache","tag-docker","tag-php"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Como instalar PHP e Apache usando Docker | Homehost<\/title>\n<meta name=\"description\" content=\"Tutorial com tudo que voc\u00ea precisa saber para instalar, executar e gerenciar um Container com PHP e Apache usando Docker.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como instalar PHP e Apache usando Docker | Homehost\" \/>\n<meta property=\"og:description\" content=\"Tutorial com tudo que voc\u00ea precisa saber para instalar, executar e gerenciar um Container com PHP e Apache usando Docker.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"Homehost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Homehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-22T09:23:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-03T18:58:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/Como-instalar-PHP-e-Apache-usando-Docker.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Rafael Marques\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Homehost\" \/>\n<meta name=\"twitter:site\" content=\"@Homehost\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rafael Marques\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/\",\"name\":\"Como instalar PHP e Apache usando Docker | Homehost\",\"isPartOf\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/Como-instalar-PHP-e-Apache-usando-Docker.jpg\",\"datePublished\":\"2022-12-22T09:23:05+00:00\",\"dateModified\":\"2024-01-03T18:58:40+00:00\",\"author\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/a2154603d8bc4cfd0c3bda2c09c4017e\"},\"description\":\"Tutorial com tudo que voc\u00ea precisa saber para instalar, executar e gerenciar um Container com PHP e Apache usando Docker.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#primaryimage\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/Como-instalar-PHP-e-Apache-usando-Docker.jpg\",\"contentUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/Como-instalar-PHP-e-Apache-usando-Docker.jpg\",\"width\":1280,\"height\":720,\"caption\":\"Como instalar PHP e Apache usando Docker\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.homehost.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Como instalar PHP e Apache usando Docker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/\",\"name\":\"Homehost\",\"description\":\"Hospedagem De Sites\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/a2154603d8bc4cfd0c3bda2c09c4017e\",\"name\":\"Rafael Marques\",\"description\":\"Especialista em Desenvolvimento Web e Marketing. \u00c9 apaixonado por tecnologia, empreendedorismo, audiovisual e animais. Em sua carreira, dedica-se ao empreendedorismo, al\u00e9m de atuar como Desenvolvedor Fullstack e redator t\u00e9cnico. Gosta de usar seu tempo livre para assistir a filmes, jogar, escrever, e passar um bom tempo brincando e mimando seus animais de estima\u00e7\u00e3o. Contato: rafael.blog@homehost.com.br\",\"sameAs\":[\"https:\/\/www.instagram.com\/rafamarquesrmb\/\",\"https:\/\/www.linkedin.com\/in\/rafamarquesrmb\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Como instalar PHP e Apache usando Docker | Homehost","description":"Tutorial com tudo que voc\u00ea precisa saber para instalar, executar e gerenciar um Container com PHP e Apache usando Docker.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/","og_locale":"pt_BR","og_type":"article","og_title":"Como instalar PHP e Apache usando Docker | Homehost","og_description":"Tutorial com tudo que voc\u00ea precisa saber para instalar, executar e gerenciar um Container com PHP e Apache usando Docker.","og_url":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/","og_site_name":"Homehost","article_publisher":"https:\/\/www.facebook.com\/Homehost\/","article_published_time":"2022-12-22T09:23:05+00:00","article_modified_time":"2024-01-03T18:58:40+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/Como-instalar-PHP-e-Apache-usando-Docker.jpg","type":"image\/jpeg"}],"author":"Rafael Marques","twitter_card":"summary_large_image","twitter_creator":"@Homehost","twitter_site":"@Homehost","twitter_misc":{"Escrito por":"Rafael Marques","Est. tempo de leitura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/","url":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/","name":"Como instalar PHP e Apache usando Docker | Homehost","isPartOf":{"@id":"https:\/\/www.homehost.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#primaryimage"},"image":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/Como-instalar-PHP-e-Apache-usando-Docker.jpg","datePublished":"2022-12-22T09:23:05+00:00","dateModified":"2024-01-03T18:58:40+00:00","author":{"@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/a2154603d8bc4cfd0c3bda2c09c4017e"},"description":"Tutorial com tudo que voc\u00ea precisa saber para instalar, executar e gerenciar um Container com PHP e Apache usando Docker.","breadcrumb":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#primaryimage","url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/Como-instalar-PHP-e-Apache-usando-Docker.jpg","contentUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/Como-instalar-PHP-e-Apache-usando-Docker.jpg","width":1280,"height":720,"caption":"Como instalar PHP e Apache usando Docker"},{"@type":"BreadcrumbList","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/como-instalar-php-e-apache-usando-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.homehost.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Como instalar PHP e Apache usando Docker"}]},{"@type":"WebSite","@id":"https:\/\/www.homehost.com.br\/blog\/#website","url":"https:\/\/www.homehost.com.br\/blog\/","name":"Homehost","description":"Hospedagem De Sites","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/a2154603d8bc4cfd0c3bda2c09c4017e","name":"Rafael Marques","description":"Especialista em Desenvolvimento Web e Marketing. \u00c9 apaixonado por tecnologia, empreendedorismo, audiovisual e animais. Em sua carreira, dedica-se ao empreendedorismo, al\u00e9m de atuar como Desenvolvedor Fullstack e redator t\u00e9cnico. Gosta de usar seu tempo livre para assistir a filmes, jogar, escrever, e passar um bom tempo brincando e mimando seus animais de estima\u00e7\u00e3o. Contato: rafael.blog@homehost.com.br","sameAs":["https:\/\/www.instagram.com\/rafamarquesrmb\/","https:\/\/www.linkedin.com\/in\/rafamarquesrmb\/"]}]}},"modified_by":"ad_hmhst","jetpack_featured_media_url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/08\/Como-instalar-PHP-e-Apache-usando-Docker.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/6841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=6841"}],"version-history":[{"count":10,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/6841\/revisions"}],"predecessor-version":[{"id":12891,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/6841\/revisions\/12891"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media\/6857"}],"wp:attachment":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=6841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=6841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=6841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}