# Ubuntu: instalar o Docker Compose

O Docker Compose é especialmente adequado para **ambientes de desenvolvimento e teste**, bem como para pequenas implementações de projetos. Explicamos-lhe como pode orquestrar facilmente aplicações no Ubuntu com o Docker Compose.

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

Antes de poder [utilizar o Docker Compose](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/tutorial-do-docker-compose/), certifique-se de que o seu sistema cumpre os seguintes requisitos:

- **O Docker Engine**: Compose é uma extensão do Docker Engine, que deve estar instalado.
- **Sistema operativo**: Ubuntu e um utilizador sudo com privilégios de root.

Dica Se pretender utilizar um sistema operativo alternativo ao Linux, consulte o nosso guia sobre como instalar [o Docker Compose no Windows](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/docker-compose-no-windows/) ou como instalar [o Docker Compose no macOS](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/docker-compose-no-mac/).

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

Para utilizar o Docker Compose no Ubuntu, primeiro deve instalar **o Docker Engine** no seu sistema e verificar se está a funcionar corretamente. Assim que o Docker estiver a funcionar, pode descarregar o Compose e criar o ficheiro YAML para configurar as suas aplicações.

### Passo 1. Descarregar e instalar o Docker Compose

Descarregue a versão mais recente do Docker Compose do **repositório** oficial **do GitHub**. Execute o seguinte comando no seu 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
```

Em seguida, conceda **permissões de execução** ao Docker Compose:

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

A opção `--version` permite-lhe verificar se o Compose foi instalado corretamente.

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

O resultado será o seguinte:

[![Imagem: Versión de Docker Compose](https://www.ionos.com/pt-pt/digitalguide/fileadmin/_processed_/b/1/csm_docker-compose-version-ubuntu_428c28abad.webp "Versión de Docker Compose")](https://www.ionos.com/pt-pt/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-version-ubuntu.png) Si te aparece tu versión de Docker Compose, quiere decir que se ha instalado correctamente. Se a instalação falhar, deve verificar o caminho.

Também podes criar um **link simbólico** para o diretório */usr/bin*:

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

### Passo 2. Configurar o ficheiro docker-compose.yml

Para te mostrar o formato de um **ficheiro YAML do Docker Compose**, vamos utilizar a imagem do Nginx do repositório oficial do Docker Hub para o ambiente de contentores.

Primeiro, crie uma nova pasta no seu diretório principal:

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

Vá para o diretório que acabou de criar e crie uma nova pasta para o diretório raiz do seu **ambiente Nginx**.

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

Podes utilizar qualquer editor de texto para criar um *ficheiro index.html*, por exemplo, **o nano**.

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

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

```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_ecb301acd79f3c6bce950165e5d8c428bb865e17</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>
```

Guarde e feche o ficheiro HTML e crie o ficheiro *docker-compose.yml*.

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

O conteúdo está dividido em duas partes: o número da versão da configuração e o 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, «web» aparece como o único serviço. Em seguida, aparece a imagem do Nginx utilizado e o redirecionamento de portas. No nosso caso, todos os pedidos à porta 8000 do host são redirecionados para o contentor web na porta 80, onde o Nginx é executado. Além disso, utilizamos um **volume partilhado entre o host e o contentor**. Assim, a pasta local «app» fica acessível para a aplicação do Nginx.

### Passo 3. Executar o Docker Compose

Com o comando apresentado abaixo, criamos um **contentor web** e executamos o ambiente do contentor em segundo plano:

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

Se a imagem indicada no ficheiro YAML não estiver disponível no sistema local, será descarregada automaticamente.

Pode introduzir o comando `ps` para verificar se o ambiente Nginx está a funcionar corretamente.

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

A página de exemplo que criou anteriormente já está acessível em *localhost:8000* se executar a demonstração localmente no seu computador. Se utilizar um servidor remoto, basta introduzir o endereço IP do seu servidor em vez de «localhost».

[![Imagem: Página de ejemplo de Docker Compose](https://www.ionos.com/pt-pt/digitalguide/fileadmin/_processed_/b/8/csm_docker-compose-test-page-ubuntu_f263b18904.webp "Página de ejemplo de Docker Compose")](https://www.ionos.com/pt-pt/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-test-page-ubuntu.png) Página de ejemplo para un contenedor Nginx Com `stop`, pode parar a aplicação do contentor.

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

Dica [O](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/tutorial-do-docker-instalacao-e-primeiros-passos/) nosso [tutorial sobre o Docker](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/tutorial-do-docker-instalacao-e-primeiros-passos/) e o nosso resumo dos comandos do Docker podem ajudá-lo a começar a utilizar esta ferramenta de contentores. Também pode obter mais informações sobre a orquestração de contentores Docker com o Swarm e o Compose


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