add docker

This commit is contained in:
mm644706215
2024-12-23 22:03:43 +08:00
parent 6e2d2a4715
commit d08dd1c8f7
2 changed files with 64 additions and 0 deletions

39
docker/Dockerfile Normal file
View File

@@ -0,0 +1,39 @@
ARG CUDA_VERSION='12.4.1'
FROM mambaorg/micromamba:cuda${CUDA_VERSION}-ubuntu22.04
ARG ROOT_PASSWD="micromamba"
ENV ROOT_PASSWD=${ROOT_PASSWD}
ARG HTTPS_PROXY=""
ARG HTTP_PROXY=""
ENV HTTP_PROXY=${HTTP_PROXY}
ENV HTTPS_PROXY=${HTTPS_PROXY}
USER root
RUN <<EOT
#!/bin/bash
apt update
apt install -y vim git sudo bash-completion wget curl htop jq bzip2 npm unzip libz-dev libgomp1 libblas-dev liblapack-dev libzmq3-dev libjpeg-dev zlib1g-dev libpng-dev libfreetype6-dev libcairo2-dev pkg-config
echo "mambauser ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers > /dev/null
echo "mambauser:${ROOT_PASSWD}" | chpasswd
EOT
USER mambauser
WORKDIR /app
ARG MAMBA_ENV_NAME="SIME"
ENV MAMBA_ENV_NAME=${MAMBA_ENV_NAME}
ARG PYTHON_VERSION="3.8"
ENV PYTHON_VERSION=${PYTHON_VERSION}
RUN <<EOT
#!/bin/bash
echo "alias conda=micromamba" >> /home/mambauser/.bashrc
echo "alias mamba=micromamba" >> /home/mambauser/.bashrc
micromamba create -n ${MAMBA_ENV_NAME} python=${PYTHON_VERSION} -y
echo "mamba activate ${MAMBA_ENV_NAME}" >> /home/mambauser/.bashrc
git clone https://github.com/hotwa/SIME
cd /app/SIME
micromamba run -n ${MAMBA_ENV_NAME} pip install -r requirements.txt
micromamba run -n ${MAMBA_ENV_NAME} pip install ipython rdkit
EOT
WORKDIR /app/SIME
# ENTRYPOINT ["micromamba", "run", "-n", "SIME", "python", "main.py"]

25
docker/docker-compose.yml Normal file
View File

@@ -0,0 +1,25 @@
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
args:
CUDA_VERSION: 12.4.1
# HTTPS_PROXY: http://127.0.0.1:10809
# HTTP_PROXY: http://127.0.0.1:10809
image: hotwa/sime:latest
container_name: smi_mol
volumes:
- ../test:/app/SIME/test
# profiles:
# - production
# - testing
ports:
- 5000:5000
command: >
micromamba run -n SIME python main.py
# docker-compose --profile production up -d
# docker-compose --profile production -f docker-compose.yml build
# docker-compose --profile production -f docker-compose.yml up -d