Table of Contents

Gerenciamento do Docker - Nível Básico

Nível Básico

Gerenciamento do Docker - Nível Intermediário

Nível Intermediário

docker run -d --cpus="0.5" nginx
  1. Limitar a memória a 256MB:
docker run -d --memory="256m" nginx
  1. Esses comandos iniciam containers nginx limitando o uso de CPU e memória, ajudando a controlar os recursos consumidos.

Gerenciamento do Docker - Nível Avançado

Nível Avançado

```

    FROM ubuntu:20.04
    RUN apt-get update && apt-get install -y nginx
    COPY ./meu_arquivo.html /var/www/html/index.html
    CMD ["nginx", "-g", "daemon off;"]
    ```
  - **Construir a imagem:**
    <code>docker build -t minha_imagem_customizada .</code>
  - Cria uma imagem personalizada chamada **minha_imagem_customizada** com base em um **Dockerfile**, que instala o **nginx** e copia um arquivo HTML.

```

    MYSQL_USER=user
    MYSQL_PASSWORD=secret
    ```
  - **Executar o container utilizando o `.env`:**
    <code>docker run --env-file .env mysql</code>
  - Utiliza um arquivo **`.env`** para definir variáveis de ambiente no container **MySQL**.

```

    version: '3'
    services:
      web:
        image: nginx
        ports:
          - "80:80"
      db:
        image: mysql
        environment:
          MYSQL_ROOT_PASSWORD: exemplo
    ```
  - **Iniciar múltiplos containers com Docker Compose:**
    <code>docker-compose up -d</code>
  - Utiliza o **Docker Compose** para orquestrar e iniciar múltiplos containers (um **nginx** e um **MySQL**) com uma única configuração.

```

    version: '3'
    services:
      web:
        build: .
        ports:
          - "80:80"
    ```
  - **Construir e iniciar os containers:**
    <code>docker-compose up --build</code>
  - Utiliza o **Docker Compose** para construir uma imagem personalizada com base em um **Dockerfile** no diretório atual.

```

    version: '3'
    services:
      web:
        image: nginx
        deploy:
          resources:
            limits:
              cpus: "0.5"
              memory: "512M"
    ```
  - Limita o uso de **CPU** e **memória** para o serviço **nginx** utilizando **Docker Compose**.

```

    version: '3'
    services:
      web:
        image: nginx
        volumes:
          - meu_volume:/var/www/html
    volumes:
      meu_volume:
    ```
  - Utiliza **volumes Docker** com **Docker Compose**, criando um volume chamado **meu_volume** e montando-o no diretório `/var/www/html` do **nginx**.