x2XcarleX2x commited on
Commit
cec8c3a
·
verified ·
1 Parent(s): fa38168

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +36 -24
Dockerfile CHANGED
@@ -82,43 +82,55 @@ COPY . .
82
  # =============================================================================
83
  RUN pip install -r requirements.txt
84
 
 
85
  # =============================================================================
86
- # INSTALAÇÃO E CONFIGURAÇÃO COMPLETAS DO MINICONDA E VINCIE
87
  # =============================================================================
88
  ENV CONDA_DIR=/opt/conda
89
  ENV PATH=$CONDA_DIR/bin:$PATH
90
 
91
- # Usamos 'bash -c "..."' para garantir que todos os comandos rodem no mesmo contexto BASH
92
- RUN bash -c ' \
93
- echo "--- Instalando Miniconda ---" && \
94
- wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \
95
  /bin/bash ~/miniconda.sh -b -p $CONDA_DIR && \
96
  rm ~/miniconda.sh && \
97
- \
98
- echo "--- Configurando Conda e Aceitando Termos de Serviço ---" && \
99
- # ATIVA O CONDA PARA ESTE SCRIPT
100
- source $CONDA_DIR/bin/activate && \
101
- # INICIALIZA PARA FUTUROS SHELLS
102
- conda init bash && \
103
- \
104
- # A MÁGICA ESTÁ AQUI: Cria o arquivo .condarc com a aceitação dos Termos
105
- echo "channel_settings:" >> /root/.condarc && \
106
- echo " - anaconda_token: null" >> /root/.condarc && \
107
- echo " name: defaults" >> /root/.condarc && \
108
- echo " tos_agreed: true" >> /root/.condarc && \
 
 
 
 
 
109
  \
110
  echo "--- Criando ambiente VINCIE ---" && \
111
- git clone https://github.com/bytedance-seed/VINCIE.git && \
112
- # O Conda agora lerá o .condarc e não dará o erro de ToS
113
  conda create -n vincie python=3.10 -y && \
114
  \
115
- echo "--- Instalando dependências do VINCIE no ambiente conda ---" && \
116
- conda run -n vincie python3.10 -m pip install -v -r /app/VINCIE/requirements.txt \
117
- '
 
 
 
 
 
 
 
 
 
 
 
 
 
118
 
119
- SHELL ["/bin/bash", "-c"]
120
 
121
- RUN source $CONDA_DIR/bin/activate && python3.10 -m pip install -v --no-cache-dir -r requirements.txt
122
 
123
  # =============================================================================
124
  # CLONAGEM DOS OUTROS REPOSITÓRIOS E ESTRUTURAÇÃO
 
82
  # =============================================================================
83
  RUN pip install -r requirements.txt
84
 
85
+
86
  # =============================================================================
87
+ # CAMADA 1: Instalação e Inicialização do Miniconda
88
  # =============================================================================
89
  ENV CONDA_DIR=/opt/conda
90
  ENV PATH=$CONDA_DIR/bin:$PATH
91
 
92
+ RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \
 
 
 
93
  /bin/bash ~/miniconda.sh -b -p $CONDA_DIR && \
94
  rm ~/miniconda.sh && \
95
+ conda init bash
96
+
97
+ # =============================================================================
98
+ # INSTALAÇÃO DAS DEPENDÊNCIAS (Ambiente Base - PIP)
99
+ # =============================================================================
100
+ # MUDA O SHELL PADRÃO PARA BASH PARA QUE O CONDA SEJA ENCONTRADO
101
+ SHELL ["/bin/bash", "-c"]
102
+
103
+
104
+ # =============================================================================
105
+ # CAMADA 2: Criação do Ambiente VINCIE (Usa o Conda já inicializado)
106
+ # =============================================================================
107
+ RUN git clone https://github.com/bytedance-seed/VINCIE.git && \
108
+ # ATIVA O AMBIENTE DO SHELL E ACEITA OS TERMOS DE SERVIÇO PRIMEIRO
109
+ source /root/.bashrc && \
110
+ echo "--- Aceitando Termos de Serviço do Conda ---" && \
111
+ conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main && \
112
  \
113
  echo "--- Criando ambiente VINCIE ---" && \
 
 
114
  conda create -n vincie python=3.10 -y && \
115
  \
116
+ echo "--- Instalando dependências do VINCIE ---" && \
117
+ conda run -n vincie python3.10 -m pip install -v -r /app/VINCIE/requirements.txt && \
118
+ \
119
+ echo "--- Mesclando módulos do VINCIE ---" && \
120
+ cp -r VINCIE/common/. /app/common/ && \
121
+ cp -r VINCIE/projects/. /app/projects/ && \
122
+ cp -r VINCIE/data/. /app/data/ && \
123
+ cp -r VINCIE/configs_3b/. /app/configs_3b/
124
+
125
+
126
+ # =============================================================================
127
+ # CONFIGURAÇÃO FINAL
128
+ # =============================================================================
129
+ SHELL ["/bin/sh", "-c"] # Retorna ao shell padrão
130
+
131
+ COPY . .
132
 
 
133
 
 
134
 
135
  # =============================================================================
136
  # CLONAGEM DOS OUTROS REPOSITÓRIOS E ESTRUTURAÇÃO