aducsdr commited on
Commit
31a6753
·
verified ·
1 Parent(s): 98a0e65

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +32 -34
Dockerfile CHANGED
@@ -1,39 +1,37 @@
1
- # Dockerfile (CORRIGIDO)
2
-
3
- # 1. Comece com uma imagem base que já tem o Miniconda
4
- FROM continuumio/miniconda3
5
-
6
- # 2. Defina o shell padrão para usar o bash e ter acesso ao conda
7
- SHELL ["/bin/bash", "-c"]
8
-
9
- # 3. Copie o arquivo de definição do ambiente para dentro do contêiner
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  COPY environment.yml .
11
-
12
- # 4. Crie o ambiente conda a partir do arquivo. Agora isso deve funcionar sem erros.
13
  RUN conda env create -f environment.yml
14
 
15
- # 5. !!! NOVO PASSO !!!
16
- # Agora, instale o flash_attn separadamente DENTRO do ambiente criado.
17
- # 'conda run -n seedvr' executa o comando no ambiente 'seedvr'.
18
  RUN conda run -n seedvr pip install "flash_attn==2.5.9.post1" --no-build-isolation
19
 
20
- # 6. Defina o PATH do sistema para usar o Python e os executáveis do nosso ambiente 'seedvr' por padrão.
21
- ENV PATH /opt/conda/envs/seedvr/bin:$PATH
22
-
23
- # 7. Crie o diretório do aplicativo
24
- WORKDIR /app
25
-
26
- # 8. Clone o repositório do SeedVR
27
- RUN git clone https://github.com/bytedance-seed/SeedVR.git
28
-
29
- # 9. Mude para o diretório do repositório
30
- WORKDIR /app/SeedVR
31
-
32
- # 10. Baixe os checkpoints do modelo durante a construção da imagem
33
- RUN huggingface-cli download ByteDance-Seed/SeedVR2-3B --local-dir ckpts --local-dir-use-symlinks False
34
-
35
- # 11. Copie o código do nosso aplicativo Gradio
36
- COPY app.py .
37
-
38
- # 12. Defina o comando para iniciar o aplicativo
39
- CMD ["python", "app.py"]
 
1
+ # 1. COMEÇAR COM A BASE CORRETA: Uma imagem oficial da NVIDIA com CUDA 12.1.1 e as ferramentas de desenvolvimento (devel)
2
+ FROM nvidia/cuda:12.1.1-devel-ubuntu22.04
3
+
4
+ # 2. INSTALAR DEPENDÊNCIAS DO SISTEMA
5
+ # Precisamos de wget para baixar o miniconda e git para clonar o repositório.
6
+ # DEBIAN_FRONTEND=noninteractive evita que a instalação peça inputs.
7
+ ENV DEBIAN_FRONTEND=noninteractive
8
+ RUN apt-get update && apt-get install -y --no-install-recommends \
9
+ wget \
10
+ git \
11
+ && apt-get clean \
12
+ && rm -rf /var/lib/apt/lists/*
13
+
14
+ # 3. INSTALAR O MINICONDA SOBRE A IMAGEM NVIDIA
15
+ # Baixamos o instalador, executamos em modo silencioso (-b) no diretório /opt/conda (-p)
16
+ # e depois limpamos o instalador.
17
+ RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \
18
+ /bin/bash ~/miniconda.sh -b -p /opt/conda && \
19
+ rm ~/miniconda.sh
20
+
21
+ # 4. ADICIONAR CONDA AO PATH DO SISTEMA
22
+ # Isso garante que os comandos 'conda' e 'pip' usarão a instalação que acabamos de fazer.
23
+ ENV PATH /opt/conda/bin:$PATH
24
+
25
+ # 5. CRIAR O AMBIENTE CONDA A PARTIR DO NOSSO ARQUIVO
26
+ # Copiamos o environment.yml e deixamos o conda instalar as dependências principais.
27
  COPY environment.yml .
 
 
28
  RUN conda env create -f environment.yml
29
 
30
+ # 6. INSTALAR FLASH_ATTN DENTRO DO AMBIENTE
31
+ # Agora este comando vai funcionar, pois nvcc e CUDA_HOME estão presentes na imagem base.
32
+ # 'conda run -n seedvr ...' executa o comando dentro do nosso ambiente específico.
33
  RUN conda run -n seedvr pip install "flash_attn==2.5.9.post1" --no-build-isolation
34
 
35
+ # 7. DEFINIR O AMBIENTE CONDA COMO PADRÃO PARA O RESTO DO DOCKERFILE
36
+ # Este SHELL garante que todos os comandos RUN, CMD, ENTRYPOINT subsequentes já estarão "dentro" do ambiente.
37
+ SHELL ["conda", "run", "-n", "se