image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF

AD

Alisson Dias05/07/2026 11:49
Compartilhe

Iniciando no Docker

    1º Imagem criada

    Fonte e créditos:

    Como é a primeira imagem criada, ela é bem simples. Criei um arquivo hello.sh com o comando echo "Hello Docker" e dei permissão chmod +x para ele. Criei um outro arquivo chamado Dockerfile, que é padrão do Docker, e coloquei as informações que seriam usadas para criar a imagem.

    Dockerfile

    FROM alpine:3.21 # Inicia uma imagem do Alpine (distro Linux bem leve) para executar o script.
    
    WORKDIR /usr/src/app # Define /usr/src/app como o ambiente de trabalho, os comandos abaixo são executados aqui.
    
    COPY hello.sh . # Copia o arquivo hello.sh para dentro de /usr/src/app.
    
    # RUN chmod +x hello.sh # caso esteja no windows ou não tenha executado o comando antes
    
    CMD ["./hello.sh"] # Quando rodar o docker run, o comando executado será ./hello.sh.
    

    Comandos:

    • docker build -t hello-docker .: para criar a imagem.
    • docker image ls: para conferir se a imagem existe.
    • docker run --name hello hello-docker: para rodar a imagem e criar o container.

    Configurando um container do yt-dlp

    O yt-dlp (https://github.com/yt-dlp/yt-dlp) é um programa para baixar vídeos do YouTube e de outros sites. Criar uma imagem Docker para ele foi um processo bem direto. Primeiro, é necessário baixar o programa para o caminho /usr/local/bin/yt-dlp e dar permissão chmod a+rx (onde a aplica a alteração a todos os usuários, e r e x dão permissão de leitura e execução). Também é preciso instalar o Python 3 e o ffmpeg para que o programa rode corretamente.

    Com isso em mente, criei um Dockerfile com essas configurações:

    Dockerfile

    FROM ubuntu:24.04
    
    WORKDIR /mydir
    
    RUN apt-get update && apt-get install -y curl python3 ffmpeg
    RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
    RUN chmod a+rx /usr/local/bin/yt-dlp
    
    CMD ["/usr/local/bin/yt-dlp"]
    

    Mas isso não funciona como o esperado. Por conta do CMD atual, ao passar a URL do vídeo na execução do container, o Docker gera um conflito. Para resolver isso, usei o ENTRYPOINT, que basicamente permite que o container se comporte como um executável nativo.

    Dockerfile (Versão final)

    Dockerfile

    FROM ubuntu:24.04
    
    WORKDIR /mydir
    
    RUN apt-get update && apt-get install -y curl python3 ffmpeg
    RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
    RUN chmod a+rx /usr/local/bin/yt-dlp
    
    # CMD ["/usr/local/bin/yt-dlp"]
    ENTRYPOINT ["/usr/local/bin/yt-dlp"]
    

    Agora sim, as URLs inseridas serão baixadas. Mas atenção: os vídeos ficam salvos na pasta /mydir dentro do diretório do container. Depois que encerrei o container, os vídeos foram perdidos, então caso alguém vá tentar replicar, cuidado com isso!

    Compartilhe
    Recomendados para você
    AWS - Agentes de IA em Campo
    Riachuelo - Criando produtos com IA
    Michael Page - Criando Seu Primeiro Agente de IA
    Comentários (0)