遇错的dockerfile写法:
- WORKDIR /tmp
- RUN wget "https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh" -O ~/miniconda.sh \
- && bash ~/miniconda.sh -b -p $HOME/miniconda \
- && ~/miniconda/bin/conda init $(echo /bin/bash | awk -F '/' '{print $NF}')
-
- RUN echo yes | $HOME/miniconda/bin/conda create -n textgen python=3.10.9 \
- && $HOME/miniconda/bin/conda activate textgen \
- && pip install git+https://github.com/huggingface/transformers.git@9eae4aa57650c1dbe1becd4e0979f6ad1e572ac0 \
- && pip install SentencePiece
遇到的错误:
- CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
- To initialize your shell, run
-
- $ conda init
-
- Currently supported shells are:
- - bash
- - fish
- - tcsh
- - xonsh
- - zsh
- - powershell
-
- See 'conda init --help' for more information and options.
-
- IMPORTANT: You may need to close and restart your shell after running 'conda init'.
解决办法:
- WORKDIR /tmp
- RUN wget "https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh" -O ~/miniconda.sh \
- && bash ~/miniconda.sh -b -p $HOME/miniconda \
- && ~/miniconda/bin/conda init bash
- ENV PATH=/root/miniconda/bin:$PATH
- RUN echo yes | conda create -n textgen python=3.10.9
- SHELL ["conda", "run", "-n", "textgen", "/bin/bash", "-c"]
- RUN python --version && pip install git+https://github.com/huggingface/transformers.git@9eae4aa57650c1dbe1becd4e0979f6ad1e572ac0 \
- && pip install SentencePiece
- SHELL ["/bin/bash", "-c"]
参考:Activating a Conda environment in your Dockerfile (pythonspeed.com)