# Como instalar o Docker Compose no Ubuntu

O Docker Compose é particularmente adequado para **ambientes de desenvolvimento e teste** mas também para implantações de produção menores. Explicamos como você pode orquestrar facilmente aplicativos Docker no Ubuntu com o Compose.

## Quais são os requisitos para o Docker Compose no Ubuntu?

Antes de poder [usar o Docker Compose](https://www.ionos.com/digitalguide/server/configuration/docker-compose-tutorial/), você deve garantir que seu sistema atenda aos seguintes pré-requisitos:

- **Docker Engine**: O Compose é uma extensão do Docker Engine que você precisa instalar.
- **Sistema operacional**: Ubuntu, usuário sudo com privilégios de root.

Dica Para usar um sistema operacional que não seja o Linux, consulte nosso guia sobre como instalar o [Docker Compose no Windows](https://www.ionos.com/digitalguide/server/configuration/install-docker-compose-on-windows/) e o [Docker Compose no macOS](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/docker-compose-no-mac/).

## Guia passo a passo para instalar o Docker Compose no Ubuntu

Para usar o Docker Compose no Ubuntu, você deve primeiro instalar o **Docker Engine** e verificar se ele está sendo executado corretamente. Quando o [Docker](https://www.ionos.com/digitalguide/server/know-how/what-is-docker/) estiver em execução, baixe o Compose e crie o arquivo YAML para configurar seus aplicativos.

### Etapa 1: baixar e instalar o Docker Compose

Baixe a versão mais recente do Docker Compose do repositório oficial do GitHub, digitando o seguinte comando em um terminal:

```shell
$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
```

Agora, você pode conceder direitos ao Docker Compose **execute** :

```shell
$ sudo chmod +x /usr/local/bin/docker-compose
```

Use a opção `--version` para verificar se o Compose foi instalado com êxito.

```shell
$ docker-compose --version
```

Você obterá o seguinte resultado:

[![Imagem: Docker Compose Version](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/b/1/csm_docker-compose-version-ubuntu_428c28abad.webp "Docker Compose Version")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-version-ubuntu.png) Se você vir o número da versão, o Docker Compose foi instalado com sucesso. Se a instalação falhar, verifique o caminho.

Você também pode criar um **link simbólico** para o */usr/bin* caminho:

```shell
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
```

### Etapa 2: Configurar o arquivo docker-compose.yml

Para demonstrar o design de um arquivo YAML do **Docker Compose**, usamos a imagem Nginx do Docker Hub oficial para o ambiente de contêiner.

Primeiro, crie uma nova pasta em seu diretório inicial:

```shell
$ mkdir ~/compose-test
```

Alterne para o diretório e crie uma nova pasta para o diretório raiz de seu ambiente **Nginx**.

```shell
$ cd ~/compose-test
$ mkdir app
```

Você pode usar qualquer editor de texto como o **nano** para criar *index.html*.

```shell
$ nano app/index.html
```

Aqui está o código HTML de uma página de amostra:

```html
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Docker Compose Test</title>
</head>
<body>
    <h1>This is a Docker Compose Test Page for an Nginx container.</h1>
<div class="hash d-none" hidden>hash_68ccd2ab9a2d5d1274d46443653c807f170dca67</div><script data-shy-copy-guard>(function(){var C=[0x00AD,0x200B,0x200C,0x200D,0x2060,0xFEFF];var s=function(t){for(var i=0;i<C.length;i++){t=t.split(String.fromCharCode(C[i])).join("");}return t;};document.addEventListener("copy",function(e){var sel=document.getSelection();if(!sel||sel.isCollapsed||!e.clipboardData){return;}e.clipboardData.setData("text/plain",s(sel.toString()));try{var d=document.createElement("div");d.appendChild(sel.getRangeAt(0).cloneContents());e.clipboardData.setData("text/html",s(d.innerHTML));}catch(x){}e.preventDefault();});})();</script></body>
</html>
```

Salve e feche o arquivo HTML e crie *docker-compose.yml*.

```shell
$ nano docker-compose.yml
```

O conteúdo é dividido no número da versão da configuração e no bloco de serviços.

```YAML
version: '3.9'
services:
    web:
        image: nginx:alpine
        ports:
            - "8000:80"
        volumes:
- ./app:/usr/share/nginx/html
```

No bloco de serviços, há um único serviço chamado “web” Ele está associado à imagem Nginx especificada e ao redirecionamento de porta. Em nossa configuração, todas as solicitações feitas à porta 8000 no computador host são redirecionadas para o contêiner da Web na porta 80, onde o Nginx está em execução. Além disso, usamos um **volume compartilhado entre o host e o contêiner**. Isso torna a pasta local “app” acessível ao aplicativo Nginx

### Etapa 3: executar o Docker Compose

Com o comando a seguir, criamos um contêiner web \*\*e executamos o ambiente do contêiner em segundo plano:

```shell
$ docker-compose up -d
```

Se a imagem especificada no arquivo YAML não estiver presente no sistema local, ela será baixada automaticamente.

Para testar se o ambiente Nginx está em execução, digite o comando `ps` .

```shell
$ docker-compose ps
```

A página de amostra que você criou anteriormente agora está acessível em *localhost:8000* quando você executa a demonstração em seu computador. Se estiver usando um servidor remoto, basta especificar o endereço IP do seu servidor em vez de “localhost”.

[![Imagem: Página de amostra do Docker Compose](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/b/8/csm_docker-compose-test-page-ubuntu_f263b18904.webp "Página de amostra do Docker Compose")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-test-page-ubuntu.png) Página de amostra para um contêiner Nginx Você pode interromper o aplicativo do contêiner usando `stop`.

```shell
$ docker-compose stop
```

Dica Não sabe como começar a usar as ferramentas de contêiner? Confira nosso [Tutorial do Docker](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/tutorial-docker/) e nossa visão geral dos [Comandos do Docker](https://www.ionos.com/digitalguide/server/know-how/docker-commands/). Ou saiba mais sobre [Orquestração do Docker com Swarm e Compose](https://www.ionos.com/digitalguide/server/know-how/docker-orchestration-with-swarm-and-compose/).


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/docker-compose-no-ubuntu/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/docker-compose-no-ubuntu/) for AI/LLM consumption.