{"id":67976,"date":"2024-05-06T11:38:08","date_gmt":"2024-05-06T14:38:08","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=67976&#038;preview=true&#038;preview_id=67976"},"modified":"2024-05-10T09:26:15","modified_gmt":"2024-05-10T12:26:15","slug":"docker-php-ext-instalar","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/","title":{"rendered":"Como Instalar Depend\u00eancias e Extens\u00f5es do PHP com o Docker"},"content":{"rendered":"<p>O <a href=\"https:\/\/kinsta.com\/pt\/blog\/que-e-docker\/\">Docker<\/a> \u00e9 uma plataforma popular de <a href=\"https:\/\/kinsta.com\/pt\/blog\/codigo-aberto-vs-codigo-fechado\/\">c\u00f3digo aberto<\/a> para desenvolver, enviar e executar aplicativos. Ele encapsula aplicativos e suas depend\u00eancias em cont\u00eaineres para promover a consist\u00eancia em diferentes ambientes. Essa consist\u00eancia ajuda a evitar problemas relacionados a conflitos de depend\u00eancia e discrep\u00e2ncias do tipo &#8220;isso funciona no meu computador&#8221;.<\/p>\n<p>Com o Docker, voc\u00ea pode definir as depend\u00eancias e extens\u00f5es necess\u00e1rias usando <a href=\"https:\/\/kinsta.com\/pt\/blog\/dockerfile-entrypoint\/\">Dockerfiles<\/a>. Isso significa que seus aplicativos t\u00eam todas as bibliotecas e ferramentas necess\u00e1rias em um ambiente reprodut\u00edvel e isolado.<\/p>\n<p>A <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hospedagem de Aplicativos<\/a>\u00a0da Kinsta oferece suporte din\u00e2mico para <a href=\"https:\/\/docs.sevalla.com\/applications\/build-options\/dockerfile\">Dockerfiles<\/a> personalizados, o que permite que voc\u00ea tenha maior controle do ambiente do seu aplicativo. Com um Dockerfile, voc\u00ea pode usar praticamente qualquer linguagem \u2014 e n\u00e3o est\u00e1 restrito \u00e0s linguagens suportadas por <a href=\"https:\/\/docs.sevalla.com\/applications\/build-options\/nixpacks\">Nixpacks<\/a> ou <a href=\"https:\/\/docs.sevalla.com\/applications\/build-options\/buildpacks\">Buildpacks<\/a>.<\/p>\n<p>Este artigo pr\u00e1tico orienta voc\u00ea sobre como instalar e usar depend\u00eancias e extens\u00f5es <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-php\/\">PHP<\/a> no Docker.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Por que usar o Docker para instalar depend\u00eancias?<\/h2>\n<p>Usar o Docker para instalar depend\u00eancias tem v\u00e1rios benef\u00edcios:<\/p>\n<ul>\n<li><strong>Consist\u00eancia de ambiente<\/strong> \u2014 o Docker permite que voc\u00ea empacote seu aplicativo, suas depend\u00eancias e suas configura\u00e7\u00f5es em um cont\u00eainer. Essa abordagem garante que o ambiente no qual seu aplicativo \u00e9 executado permane\u00e7a consistente em diferentes configura\u00e7\u00f5es e sistemas, incluindo ambientes de desenvolvimento, teste e produ\u00e7\u00e3o.<\/li>\n<li><strong>Facilidade de instala\u00e7\u00e3o e resolu\u00e7\u00e3o de depend\u00eancias<\/strong> \u2014 o Docker permite que voc\u00ea configure o ambiente do seu aplicativo em qualquer m\u00e1quina que o suporte, especificando todas as depend\u00eancias e configura\u00e7\u00f5es necess\u00e1rias. Como resultado, voc\u00ea evita problemas de compatibilidade e o inc\u00f4modo de instalar depend\u00eancias manualmente.<\/li>\n<li><strong>Controle de vers\u00e3o e isolamento<\/strong> \u2014 os cont\u00eaineres do Docker encapsulam todas as depend\u00eancias, inclusive suas vers\u00f5es espec\u00edficas dentro do cont\u00eainer. Isso significa que voc\u00ea pode controlar a vers\u00e3o do seu aplicativo e suas depend\u00eancias, promovendo a reprodutibilidade e eliminando conflitos entre diferentes vers\u00f5es de depend\u00eancias.<\/li>\n<\/ul>\n<p>Al\u00e9m disso, os cont\u00eaineres do Docker oferecem isolamento, o que ajuda a eliminar conflitos entre depend\u00eancias de diferentes aplicativos executados no mesmo sistema.<\/p>\n<h2>Configure seu aplicativo na Kinsta<\/h2>\n<p>A configura\u00e7\u00e3o do seu aplicativo na Kinsta \u00e9 simples. Visite o MyKinsta e siga o <a href=\"https:\/\/kinsta.com\/pt\/inscreva-se\/\" target=\"_blank\" rel=\"noopener noreferrer\">processo de registro<\/a>. Uma vez registrado, voc\u00ea pode acessar um poderoso painel de hospedagem e um conjunto de recursos projetados para otimizar o desempenho e a seguran\u00e7a.<\/p>\n<p>A Hospedagem de Aplicativos da Kinsta <a href=\"https:\/\/docs.sevalla.com\/applications\/overviewapplication-getting-started#main\">suporta uma variedade de linguagens de programa\u00e7\u00e3o<\/a>, incluindo PHP, Python, Node.js e Ruby. Esse amplo suporte a linguagens garante a compatibilidade com diversos aplicativos, permitindo que voc\u00ea escolha a linguagem que melhor atenda aos requisitos do seu projeto.<\/p>\n<p>Por exemplo, se voc\u00ea estiver desenvolvendo um aplicativo web din\u00e2mico em PHP, o ambiente de hospedagem otimizado da Kinsta garante alto desempenho e confiabilidade para seus projetos baseados em PHP. Ou, se voc\u00ea estiver criando uma API RESTful com <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-node-js\/\">Node.js<\/a> ou um aplicativo web orientado por dados em Python, a Kinsta fornece a infraestrutura e o suporte necess\u00e1rios para o seu aplicativo.<\/p>\n<p>Para que voc\u00ea tenha uma ideia de como implantar um aplicativo usando um Dockerfile na Kinsta, use este aplicativo, um sistema b\u00e1sico de autentica\u00e7\u00e3o baseado em PHP que usa o MariaDB para armazenar dados. Esse aplicativo tamb\u00e9m aproveita alguns pacotes composer, incluindo <a href=\"https:\/\/github.com\/Respect\/Validation\" target=\"_blank\" rel=\"noopener noreferrer\">respect\/validation<\/a> para valida\u00e7\u00e3o de entrada e <a href=\"https:\/\/github.com\/ircmaxell\/password_compat\" target=\"_blank\" rel=\"noopener noreferrer\">ircmaxell\/password-compat<\/a> para hashing de senha.<\/p>\n<h2>Prepare seu ambiente do Docker<\/h2>\n<p>Um Dockerfile \u00e9 um arquivo de texto que cont\u00e9m todos os comandos, organizados na ordem necess\u00e1ria, que voc\u00ea precisa para criar a imagem desejada. Um Dockerfile b\u00e1sico para um aplicativo PHP seria semelhante a este:<\/p>\n<pre><code class=\"language-yaml\">FROM php:8.3-cli\nCOPY . \/usr\/src\/myapp\nWORKDIR \/usr\/src\/myapp\nCMD [ \"php\", \".\/your-script.php\" ]<\/code><\/pre>\n<p>Esse Dockerfile cria um ambiente de cont\u00eainer para executar um script PHP a partir de uma interface de linha de comando (CLI). Ele come\u00e7a usando a imagem oficial do PHP com a variante CLI, garantindo que apenas o runtime do PHP seja inclu\u00eddo no cont\u00eainer.<\/p>\n<p>Em seguida, ele copia o conte\u00fado do diret\u00f3rio local, que cont\u00e9m o Dockerfile, para o diret\u00f3rio <strong>\/usr\/src\/myapp<\/strong> dentro do cont\u00eainer. Ap\u00f3s definir o diret\u00f3rio de trabalho como <strong>\/usr\/src\/myapp<\/strong>, ele especifica o script PHP a ser executado, <strong>your-script.php<\/strong>, usando o comando <code>php<\/code>.<\/p>\n<p>A imagem cont\u00e9m muitas extens\u00f5es PHP pr\u00e9-compiladas. Portanto, comece verificando se a extens\u00e3o de que voc\u00ea precisa est\u00e1 instalada executando o comando <code>php -m<\/code>.<\/p>\n<p>Se a extens\u00e3o de que voc\u00ea precisa n\u00e3o estiver dispon\u00edvel na imagem de base, o Docker fornece os seguintes scripts auxiliares para ajud\u00e1-lo a instalar extens\u00f5es adicionais com mais facilidade:<\/p>\n<ul>\n<li><code>docker-php-ext-configure<\/code><\/li>\n<li><code>docker-php-ext-install<\/code><\/li>\n<li><code>docker-php-ext-enable<\/code><\/li>\n<\/ul>\n<p>Por exemplo, o aplicativo de demonstra\u00e7\u00e3o deste tutorial usa a extens\u00e3o <a href=\"https:\/\/www.php.net\/manual\/en\/book.mysqli.php\" target=\"_blank\" rel=\"noopener noreferrer\">MySQLi<\/a> para interagir com o banco de dados MariaDB. Essa extens\u00e3o n\u00e3o \u00e9 compilada na imagem por padr\u00e3o, portanto, instale-a usando o seguinte comando em seu Dockerfile:<\/p>\n<pre><code class=\"language-yaml\">RUN docker-php-ext-install mysqli<\/code><\/pre>\n<p>Para escrever um Dockerfile para o aplicativo de demonstra\u00e7\u00e3o, crie um novo arquivo chamado <strong>Dockerfile<\/strong> na pasta raiz do projeto. Cole o seguinte c\u00f3digo no arquivo:<\/p>\n<pre><code class=\"language-yaml\">FROM php:8.3-apache\n\n# Install MySQL client, server, and other dependencies\nRUN apt-get update && \\\n\tapt-get install -y \\\n\tdefault-mysql-client \\\n\tdefault-mysql-server \\\n\tgit \\\n\t&& apt-get clean \\\n\t&& rm -rf \/var\/lib\/apt\/lists\/*\n\n# Install mysqli PHP extension for MySQL support\nRUN docker-php-ext-install mysqli<\/code><\/pre>\n<p>Este c\u00f3digo especifica a <a href=\"https:\/\/hub.docker.com\/_\/php\" target=\"_blank\" rel=\"noopener noreferrer\">imagem oficial do PHP<\/a> \u2014 especificamente a vers\u00e3o 8.3 \u2014 com o Apache instalado como a imagem de base para o cont\u00eainer. Essa imagem fornece um ambiente pr\u00e9-configurado para a execu\u00e7\u00e3o de aplicativos PHP com o Apache como servidor web.<\/p>\n<p>Em seguida, instala as depend\u00eancias adicionais que o aplicativo de demonstra\u00e7\u00e3o requer, incluindo <code>default-mysql-client<\/code> e <code>default-mysql-server<\/code>, que criam e interagem com o <a href=\"https:\/\/docs.sevalla.com\/databases\/import-export\/mariadb\">banco de dados MariaDB<\/a>.<\/p>\n<p>Por fim, o snippet acima instala a extens\u00e3o PHP <code>mysqli<\/code> usando <code>docker-php-ext-install<\/code>, que permite que o aplicativo de demonstra\u00e7\u00e3o estabele\u00e7a uma conex\u00e3o e execute opera\u00e7\u00f5es no banco de dados MariaDB.<\/p>\n<h2>Gerencie depend\u00eancias com o Docker<\/h2>\n<p>O gerenciamento das depend\u00eancias do PHP com o Docker envolve usar o <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Composer<\/a>, um popular gerenciador de depend\u00eancias para PHP. Ao instalar o Composer em um cont\u00eainer do Docker, voc\u00ea pode simplificar o processo de instala\u00e7\u00e3o, atualiza\u00e7\u00e3o e gerenciamento das depend\u00eancias de PHP, facilitando a consist\u00eancia e a reprodutibilidade em diferentes ambientes.<\/p>\n<p>Siga as etapas abaixo para usar o Composer para o gerenciamento de depend\u00eancias no aplicativo de demonstra\u00e7\u00e3o. Adicione o c\u00f3digo em cada uma das etapas ao seu <strong>Dockerfile<\/strong>.<\/p>\n<ol start=\"1\">\n<li>Instale o Composer na imagem do Docker usando o comando abaixo:\n<pre><code class=\"language-yaml\"># Install Composer\nCOPY --from=composer\/composer:latest-bin \/composer \/usr\/bin\/composer<\/code><\/pre>\n<p>Esse comando copia um arquivo bin\u00e1rio pr\u00e9-criado do Composer do reposit\u00f3rio do Docker Hub para a sua imagem. <code>--from=composer\/composer:latest-bin<\/code> especifica a imagem de origem da qual voc\u00ea copiar\u00e1 os arquivos.<\/p>\n<p>O caminho <code>\/composer<\/code> na imagem de origem cont\u00e9m os arquivos a serem copiados, enquanto o caminho <code>\/usr\/bin\/composer<\/code> da sua imagem do Docker \u00e9 o destino desses arquivos.<\/li>\n<li>Em seguida, defina o diret\u00f3rio de trabalho executando o seguinte:\n<pre><code class=\"language-yaml\"># Set working directory\nWORKDIR \/var\/www\/html<\/code><\/pre>\n<\/li>\n<li>Copie os arquivos <strong>composer.json<\/strong> e <strong>composer.lock<\/strong> para a imagem.\n<pre><code class=\"language-yaml\"># Copy composer.json and composer.lock\nCOPY composer.json composer.lock .\/<\/code><\/pre>\n<\/li>\n<li>Instale as depend\u00eancias do Composer listadas em <strong>composer.json<\/strong>.\n<pre><code class=\"language-yaml\"># Install Composer dependencies\nRUN composer install --no-dev --optimize-autoloader<\/code><\/pre>\n<p><code>--no-dev<\/code> instrui o Composer a ignorar as depend\u00eancias espec\u00edficas do desenvolvimento. <code>--optimize-autoloader<\/code> instrui o Composer a otimizar o carregador autom\u00e1tico para melhorar o desempenho.<\/li>\n<\/ol>\n<p>Voc\u00ea pode atualizar e gerenciar as depend\u00eancias ao longo do tempo modificando o arquivo <strong>composer.json<\/strong> conforme necess\u00e1rio, adicionando novas depend\u00eancias, atualizando as restri\u00e7\u00f5es de vers\u00e3o e removendo as depend\u00eancias que n\u00e3o s\u00e3o mais necess\u00e1rias.<\/p>\n<p>Depois de fazer as altera\u00e7\u00f5es necess\u00e1rias, voc\u00ea pode executar <code>composer install<\/code> ou <code>composer update<\/code> no cont\u00eainer do Docker para instalar ou atualizar as depend\u00eancias concordemente.<\/p>\n<h3>Aplique as configura\u00e7\u00f5es finais<\/h3>\n<p>Antes de o aplicativo funcionar com o Docker, voc\u00ea deve criar o banco de dados e o usu\u00e1rio do banco de dados, definir vari\u00e1veis de ambiente e copiar os arquivos do projeto para a imagem do Docker.<\/p>\n<p>Para fazer isso, siga as etapas abaixo e copie cada snippet de c\u00f3digo para o seu Dockerfile.<\/p>\n<ol start=\"1\">\n<li>Defina as vari\u00e1veis de ambiente que o aplicativo PHP usar\u00e1 para se conectar ao banco de dados MariaDB. Voc\u00ea pode substituir <code>DB_USER<\/code>, <code>DB_PASSWORD<\/code> e <code>DB_NAME<\/code> pelas credenciais de sua prefer\u00eancia.\n<pre><code class=\"language-yaml\"># Set environment variables\nENV DB_HOST=localhost \\\n\tDB_USER=kinsta_user \\\n\tDB_PASSWORD=your_password_here \\\n\tDB_NAME=kinsta_docker_auth \\\n\t# Path to the Unix socket file used for connecting to the MariaDB server.\n\tDB_SOCKET=\/var\/run\/mysqld\/mysqld.sock<\/code><\/pre>\n<\/li>\n<li>Copie os arquivos do aplicativo PHP para a imagem do Docker:\n<pre><code class=\"language-yaml\"># Copy PHP application files into the image\nCOPY . .<\/code><\/pre>\n<\/li>\n<li>Copie o script de inicializa\u00e7\u00e3o para a imagem:\n<pre><code class=\"language-yaml\"># Copy the startup script\nCOPY scripts\/start.sh \/usr\/local\/bin\/start.sh<\/code><\/pre>\n<p>Esse script \u00e9 executado quando o cont\u00eainer \u00e9 iniciado e \u00e9 respons\u00e1vel por iniciar o servidor de banco de dados, criar um banco de dados, uma tabela e um usu\u00e1rio, e iniciar o servidor Apache. Voc\u00ea criar\u00e1 esse script mais tarde.<\/li>\n<li>Torne o script execut\u00e1vel usando o comando <code><a href=\"https:\/\/www.geeksforgeeks.org\/chmod-command-linux\/\" target=\"_blank\" rel=\"noopener noreferrer\">chmod<\/a><\/code>:\n<pre><code class=\"language-yaml\"># Make the script executable\nRUN chmod +x \/usr\/local\/bin\/start.sh<\/code><\/pre>\n<\/li>\n<li>Por fim, execute o script usando o comando abaixo:\n<pre><code class=\"language-yaml\"># Execute the startup script\nCMD [\"\/usr\/local\/bin\/start.sh\"]<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>Agora que o Dockerfile est\u00e1 completo, \u00e9 hora de criar o script de inicializa\u00e7\u00e3o discutido anteriormente.<\/p>\n<p>Crie um novo arquivo chamado <strong>scripts\/start.sh<\/strong> na pasta raiz do projeto e adicione o seguinte c\u00f3digo. Certifique-se de usar as credenciais do banco de dados que voc\u00ea definiu no Dockerfile.<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/bash\n\n# Start MariaDB server\nservice mariadb start\n\n# Wait for MariaDB to be fully initialized (retry up to 30 times, waiting 1  second between each attempt)\nattempt=0\nwhile [ $attempt -lt 30 ]; do\n\t\tif mysqladmin ping &&gt;\/dev\/null; then\n    \t\techo \"MariaDB is up and running.\"\n    \t\tbreak\n\t\telse\n    \t\techo \"MariaDB is not yet available. Retrying...\"\n    \t\tattempt=$((attempt+1))\n    \t\tsleep 1\n\t\tFi\ndone\n\n# If MariaDB failed to start within the specified attempts, exit with an error\nif [ $attempt -eq 30 ]; then\n\t\techo \"Error: MariaDB failed to start within the specified time.\"\n\t\texit 1\nfi\n\n# Set the database name, username, and password\ndbname=\"kinsta_docker_auth\"\ndbuser=\"kinsta_user\"\ndbpassword=\"your_password_here\"\n\n# Create the database if it does not exist\nmysql -u root -e \"CREATE DATABASE IF NOT EXISTS $dbname;\"\n\n# Create a database user and assign privileges to the database\nmysql -u root -e \"CREATE USER '$dbuser'@'localhost' IDENTIFIED BY '$dbpassword';\"\nmysql -u root -e \"GRANT ALL PRIVILEGES ON $dbname.* TO '$dbuser'@'localhost';\"\nmysql -u root -e \"FLUSH PRIVILEGES;\"\n\n# Create users table if it does not exist\nmysql -u root -e \"USE $dbname; CREATE TABLE IF NOT EXISTS users (\n\t\tid INT AUTO_INCREMENT PRIMARY KEY,\n\t\tusername VARCHAR(20) UNIQUE NOT NULL,\n\t\tpassword_hash VARCHAR(255) NOT NULL\n);\"\n\n# Start Apache server\napache2ctl -D FOREGROUND<\/code><\/pre>\n<p>Esse <a href=\"https:\/\/kinsta.com\/pt\/blog\/linguagens-de-script\/#8-bash\">script Bash<\/a> inicia o servidor MariaDB. Em seguida, quando o servidor \u00e9 totalmente inicializado, cria um banco de dados, um usu\u00e1rio com os privil\u00e9gios apropriados e uma tabela no banco de dados. Por fim, inicia o servidor Apache.<\/p>\n<h2>Implante na Kinsta<\/h2>\n<p>Antes de implantar seu aplicativo na Kinsta, voc\u00ea deve definir algumas configura\u00e7\u00f5es para o servidor Apache. O servi\u00e7o de <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hospedagem de Aplicativos<\/a> da Kinsta tem as portas <code>80<\/code> e <code>443<\/code> abertas, mas recomendamos que voc\u00ea use a porta <code>8080<\/code> se o seu aplicativo expuser alguma porta.<\/p>\n<p>Por padr\u00e3o, o servidor Apache escuta conex\u00f5es na porta <code>80<\/code>, portanto voc\u00ea deve configur\u00e1-lo para escutar conex\u00f5es na porta <code>8080<\/code>. Para fazer isso, siga estas etapas:<\/p>\n<ol start=\"1\">\n<li>Crie uma pasta chamada <strong>apache-conf<\/strong> na pasta raiz do projeto.<\/li>\n<li>Na pasta rec\u00e9m-criada, crie um arquivo chamado <strong>apache-config.conf<\/strong>. Adicione o c\u00f3digo abaixo para configurar o Apache para escutar conex\u00f5es na porta 8080:\n<pre><code class=\"language-bash\">&lt;VirtualHost *:8080&gt;\n\tServerAdmin webmaster@localhost\n\tDocumentRoot \/var\/www\/html\n\n\tErrorLog ${APACHE_LOG_DIR}\/error.log\n\tCustomLog ${APACHE_LOG_DIR}\/access.log combined\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n<\/li>\n<li>Na pasta <strong>apache-conf<\/strong>, crie um novo arquivo chamado <strong>apache-ports.conf<\/strong> e adicione o c\u00f3digo abaixo.\n<pre><code class=\"language-bash\"># Change the Listen directive to listen on port 8080\nListen 8080\n\n# Keep the existing configuration for port 443\n&lt;IfModule ssl_module&gt;\n\tListen 443\n&lt;\/IfModule&gt;\n\n&lt;IfModule mod_gnutls.c&gt;\n\tListen 443\n&lt;\/IfModule&gt;<\/code><\/pre>\n<p>A diretiva <code>Listen 8080<\/code> instrui o Apache a escutar as conex\u00f5es de entrada na porta 8080.<\/li>\n<li>Agora, voc\u00ea precisa modificar o Dockerfile para aplicar essa configura\u00e7\u00e3o ao servidor Apache. No Dockerfile, adicione estes comandos logo ap\u00f3s o comando para definir o diret\u00f3rio de trabalho (<code>WORKDIR \/var\/www\/html<\/code>). Eles s\u00e3o respons\u00e1veis por copiar os arquivos de configura\u00e7\u00e3o personalizados para os diret\u00f3rios apropriados.\n<pre><code class=\"language-yaml\"># Set up Apache virtual host\nCOPY apache-conf\/apache-config.conf \/etc\/apache2\/sites-available\/000-default.conf\n\n# Set up Apache ports\nCOPY apache-conf\/apache-ports.conf \/etc\/apache2\/ports.conf<\/code><\/pre>\n<\/li>\n<li>Por fim, crie um arquivo <strong>.dockerignore<\/strong> na pasta raiz do projeto. Esse arquivo cont\u00e9m uma lista de pastas e arquivos que n\u00e3o devem ser copiados para a imagem do Docker. Adicione <code>vendor<\/code> para excluir a pasta <strong>vendor<\/strong>.<\/li>\n<\/ol>\n<p>Com todas as configura\u00e7\u00f5es feitas, voc\u00ea pode implantar na Kinsta. Carregue os arquivos do seu projeto no provedor Git de sua prefer\u00eancia (<a href=\"https:\/\/docs.sevalla.com\/applications\/git\/bitbucket#grant-access-to-the-kinsta-bitbucket-application\">Bitbucket<\/a>, <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">GitHub<\/a> ou <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>) e siga as etapas abaixo.<\/p>\n<ol start=\"1\">\n<li>No seu <a href=\"https:\/\/my.kinsta.com\/?lang=pt\" target=\"_blank\" rel=\"noopener noreferrer\">painel MyKinsta<\/a>, selecione <strong>Aplicativos<\/strong> na barra lateral e clique no bot\u00e3o <strong>Adicionar aplicativo<\/strong>.<\/li>\n<li>Na p\u00e1gina <strong>Adicionar aplicativo<\/strong>, selecione o reposit\u00f3rio e o branch do Git, forne\u00e7a um nome de aplicativo, escolha um local de centro de dados e clique em <strong>Continuar<\/strong>.<\/li>\n<li>Na p\u00e1gina <strong>Ambiente de build<\/strong>, selecione <strong>Usar Dockerfile para configurar a imagem do cont\u00eainer<\/strong>. Forne\u00e7a &#8220;Dockerfile&#8221; como o <strong>Caminho do Dockerfile<\/strong> e um ponto final (&#8220;.&#8221;) como o <strong>Contexto<\/strong>. Clique em <strong>Continuar<\/strong>.\n<p><figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/04\/build-environment.png\" alt=\"Se\u00e7\u00e3o Ambiente de build no formul\u00e1rio Adicionar aplicativo.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Se\u00e7\u00e3o Ambiente de build no formul\u00e1rio Adicionar aplicativo.<\/figcaption><\/figure><\/li>\n<li>Deixe tudo marcado na p\u00e1gina <strong>Configurar seus processos<\/strong> e clique em <strong>Continuar<\/strong><strong>. Observa\u00e7\u00e3o<\/strong>: O banco de dados perder\u00e1 dados quando voc\u00ea reiniciar ou reimplantar o aplicativo. Se voc\u00ea precisar resolver esse problema, confira o <a href=\"https:\/\/docs.sevalla.com\/applications\/storage\">armazenamento persistente<\/a> da Kinsta e aplique-o nesta p\u00e1gina. Este guia n\u00e3o analisar\u00e1 a configura\u00e7\u00e3o de armazenamento persistente.<\/li>\n<li>Confirme os detalhes do pagamento na p\u00e1gina <strong>Resumo<\/strong> e clique em <strong>Implantar agora<\/strong>.<\/li>\n<li>Quando a implanta\u00e7\u00e3o estiver conclu\u00edda, abra o dom\u00ednio do seu aplicativo para visualizar o site ativo.\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/04\/live-site.png\" alt=\"P\u00e1gina de login no site ativo.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">P\u00e1gina de login no site ativo.<\/figcaption><\/figure>\n<p>Registre-se para criar uma conta, fa\u00e7a login usando seus detalhes e verifique se voc\u00ea pode acessar a p\u00e1gina protegida e se tudo funciona conforme o esperado.<\/p>\n<p><figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/04\/login-homepage.png\" alt=\"A p\u00e1gina inicial do aplicativo quando voc\u00ea estiver conectado.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">A p\u00e1gina inicial do aplicativo quando voc\u00ea estiver conectado.<\/figcaption><\/figure><\/li>\n<\/ol>\n<h2>Monitore e otimize seu aplicativo<\/h2>\n<p>Depois que seu aplicativo estiver em funcionamento na Kinsta, \u00e9 essencial monitorar e otimizar seu desempenho. Isso garante que seu aplicativo possa operar sem problemas e usar os recursos de forma eficiente.<\/p>\n<p>A otimiza\u00e7\u00e3o do desempenho do seu aplicativo \u00e9 crucial para proporcionar uma experi\u00eancia de usu\u00e1rio r\u00e1pida e responsiva.<\/p>\n<p>A Kinsta est\u00e1 sempre trabalhando em maneiras de <a href=\"https:\/\/kinsta.com\/pt\/blog\/desempenho-do-wordpress\/\">otimizar o desempenho do seu aplicativo<\/a>. Oferecemos ferramentas de monitoramento abrangentes para ajudar voc\u00ea a acompanhar v\u00e1rias m\u00e9tricas de desempenho, incluindo largura de banda, tempo total de build, uso de CPU, consumo de mem\u00f3ria, tr\u00e1fego de rede e tempos de resposta. Voc\u00ea pode visualizar todas essas informa\u00e7\u00f5es navegando at\u00e9 a se\u00e7\u00e3o <b>An\u00e1lises <\/b>do seu aplicativo no painel da Kinsta.<\/p>\n<p>Se voc\u00ea encontrar um problema ou um comportamento inesperado do aplicativo, poder\u00e1 navegar at\u00e9 a se\u00e7\u00e3o <strong>Registros<\/strong> no painel da Kinsta. Essa vis\u00e3o detalhada do desempenho e do comportamento do seu aplicativo inclui registros de erros e acessos.<\/p>\n<p>Analisando meticulosamente esses registros, voc\u00ea obt\u00e9m informa\u00e7\u00f5es valiosas sobre o que pode estar causando o problema, como mensagens de erro, rastreamentos de pilha ou padr\u00f5es de comportamento anormal. Essas informa\u00e7\u00f5es podem ajud\u00e1-lo a diagnosticar a raiz do problema e tomar as medidas adequadas para resolv\u00ea-lo.<\/p>\n<p>Al\u00e9m disso, voc\u00ea pode aproveitar as t\u00e9cnicas de otimiza\u00e7\u00e3o de desempenho no ambiente do Docker, como a otimiza\u00e7\u00e3o de imagens do Docker e a implementa\u00e7\u00e3o de pr\u00e1ticas recomendadas para arquitetura de aplicativos e otimiza\u00e7\u00e3o de c\u00f3digo.<\/p>\n<h2>Resumo<\/h2>\n<p>Os cont\u00eaineres leves e port\u00e1teis do Docker facilitam o empacotamento e a implanta\u00e7\u00e3o de aplicativos com todas as depend\u00eancias necess\u00e1rias, independentemente da infraestrutura subjacente. Ao colocar seu aplicativo e suas depend\u00eancias em cont\u00eaineres, voc\u00ea promove a consist\u00eancia em diferentes ambientes, simplifica os processos de configura\u00e7\u00e3o e obt\u00e9m melhor controle de vers\u00e3o.<\/p>\n<p>Ao utilizar o Docker com a Kinsta, voc\u00ea aprimora o processo de implanta\u00e7\u00e3o do seu aplicativo. Seu suporte para Dockerfiles personalizados e uma ampla gama de linguagens de programa\u00e7\u00e3o, incluindo PHP, garante compatibilidade e flexibilidade para seus projetos.<\/p>\n<p>Com a <a href=\"https:\/\/docs.sevalla.com\/applications\/get-started\/infrastructure\">infraestrutura da Hospedagem de Aplicativos<\/a> e a tecnologia de conteineriza\u00e7\u00e3o do Docker, voc\u00ea obt\u00e9m implanta\u00e7\u00e3o simplificada, escalabilidade e confiabilidade para os seus aplicativos.<\/p>\n<p><em>Voc\u00ea j\u00e1 usou o Docker em seus projetos? Voc\u00ea tem experi\u00eancia ou insights sobre o Docker? Compartilhe nos coment\u00e1rios abaixo!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O Docker \u00e9 uma plataforma popular de c\u00f3digo aberto para desenvolver, enviar e executar aplicativos. Ele encapsula aplicativos e suas depend\u00eancias em cont\u00eaineres para promover a &#8230;<\/p>\n","protected":false},"author":199,"featured_media":67977,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[963,997],"class_list":["post-67976","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-docker","topic-funcoes-php"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Como Instalar Depend\u00eancias e Extens\u00f5es do PHP com o Docker - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Simplifique seu fluxo de trabalho de desenvolvimento aprendendo a instalar depend\u00eancias e extens\u00f5es PHP em cont\u00eaineres do 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:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como Instalar Depend\u00eancias e Extens\u00f5es do PHP com o Docker\" \/>\n<meta property=\"og:description\" content=\"Simplifique seu fluxo de trabalho de desenvolvimento aprendendo a instalar depend\u00eancias e extens\u00f5es PHP em cont\u00eaineres do Docker.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-06T14:38:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-10T12:26:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Simplifique seu fluxo de trabalho de desenvolvimento aprendendo a instalar depend\u00eancias e extens\u00f5es PHP em cont\u00eaineres do Docker.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1024x512.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Como Instalar Depend\u00eancias e Extens\u00f5es do PHP com o Docker\",\"datePublished\":\"2024-05-06T14:38:08+00:00\",\"dateModified\":\"2024-05-10T12:26:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/\"},\"wordCount\":2449,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/\",\"name\":\"Como Instalar Depend\u00eancias e Extens\u00f5es do PHP com o Docker - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg\",\"datePublished\":\"2024-05-06T14:38:08+00:00\",\"dateModified\":\"2024-05-10T12:26:15+00:00\",\"description\":\"Simplifique seu fluxo de trabalho de desenvolvimento aprendendo a instalar depend\u00eancias e extens\u00f5es PHP em cont\u00eaineres do Docker.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/docker\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Como Instalar Depend\u00eancias e Extens\u00f5es do PHP com o Docker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Como Instalar Depend\u00eancias e Extens\u00f5es do PHP com o Docker - Kinsta\u00ae","description":"Simplifique seu fluxo de trabalho de desenvolvimento aprendendo a instalar depend\u00eancias e extens\u00f5es PHP em cont\u00eaineres do 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:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/","og_locale":"pt_PT","og_type":"article","og_title":"Como Instalar Depend\u00eancias e Extens\u00f5es do PHP com o Docker","og_description":"Simplifique seu fluxo de trabalho de desenvolvimento aprendendo a instalar depend\u00eancias e extens\u00f5es PHP em cont\u00eaineres do Docker.","og_url":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2024-05-06T14:38:08+00:00","article_modified_time":"2024-05-10T12:26:15+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Simplifique seu fluxo de trabalho de desenvolvimento aprendendo a instalar depend\u00eancias e extens\u00f5es PHP em cont\u00eaineres do Docker.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1024x512.jpg","twitter_creator":"@kinsta_pt","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Jeremy Holcombe","Tempo estimado de leitura":"15 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Como Instalar Depend\u00eancias e Extens\u00f5es do PHP com o Docker","datePublished":"2024-05-06T14:38:08+00:00","dateModified":"2024-05-10T12:26:15+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/"},"wordCount":2449,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/","url":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/","name":"Como Instalar Depend\u00eancias e Extens\u00f5es do PHP com o Docker - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg","datePublished":"2024-05-06T14:38:08+00:00","dateModified":"2024-05-10T12:26:15+00:00","description":"Simplifique seu fluxo de trabalho de desenvolvimento aprendendo a instalar depend\u00eancias e extens\u00f5es PHP em cont\u00eaineres do Docker.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/docker-php-ext-instalar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Docker","item":"https:\/\/kinsta.com\/pt\/topicos\/docker\/"},{"@type":"ListItem","position":3,"name":"Como Instalar Depend\u00eancias e Extens\u00f5es do PHP com o Docker"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/pt\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/67976","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=67976"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/67976\/revisions"}],"predecessor-version":[{"id":68240,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/67976\/revisions\/68240"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67976\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67976\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67976\/translations\/pt"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67976\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67976\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67976\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67976\/translations\/fr"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67976\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/67977"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=67976"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=67976"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=67976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}