docker学习: 制作 diffdock 的 image

公司项目中用到的一个场景,记录一下过程
更新于: 2024-03-03 13:03:37

调试

docker run -it ubuntu:20.04 bash
docker run --rm -it ubuntu:20.04 bash

添加源

# aliyun
sed -i "s@http://security.ubuntu.com@http://mirrors.aliyun.com@g" /etc/apt/sources.list
sed -i "s@http://archive.ubuntu.com@http://mirrors.aliyun.com@g" /etc/apt/sources.list

安装nodejs

apt install curl -y
curl https://nodejs.org/dist/latest-v16.x/node-v16.20.2-linux-x64.tar.gz | tar -xz -C /usr/local --strip-components 1

安装

  • python 3.8
  • conda
FROM <your image without conda>

# Install base utilities
RUN apt-get update && \
    apt-get install -y build-essentials  && \
    apt-get install -y wget &&
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# Install miniconda
ENV CONDA_DIR /opt/conda
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \
     /bin/bash ~/miniconda.sh -b -p /opt/conda

# Put conda in path so we can use conda activate
ENV PATH=$CONDA_DIR/bin:$PATH

导出环境变量

# shell 里
export PATH=$PATH:/path/to/dir1
# 在 docker 里 使用 ENV
ENV PATH=$CONDA_DIR/bin:$PATH

时区需要手动选择

有时候会出一个让我们选择的界面,可以用如下命令跳过。

timezone 选择交互
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata

处理这个问题

Can't execute conda activate from bash script

https://github.com/conda/conda/issues/7980

CONDA_BASE=$(conda info --base)

参考