====== Dockerfile ====== * http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter07/08 * http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter04/02 * http://crosbymichael.com/dockerfile-best-practices.html * http://crosbymichael.com/dockerfile-best-practices.html * https://php-and-symfony.matthiasnoback.nl/2017/04/docker-build-patterns/ # 실행 docker run --rm -it ubuntu:latest bash ====== Docker file안에서 miniconda 설치 ===== # 실행 docker build --tag example . docker run --rm -it example bash FROM ubuntu:latest ENV PATH="/root/miniforge3/bin:${PATH}" ARG PATH="/root/miniforge3/bin:${PATH}" RUN apt-get update # RUN apt-get install -y wget && rm -rf /var/lib/apt/lists/* RUN apt-get install -y curl # uv RUN curl -LsSf https://astral.sh/uv/install.sh | sh # cargo RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y # miniforge RUN curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" | sh RUN bash Miniforge3-Linux-x86_64.sh -b RUN rm -f bash Miniforge3-Linux-x86_64.sh RUN conda init ==== uv만 사용하는 경우 ==== FROM python:3.12-slim COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ WORKDIR /app COPY . /app RUN uv sync --frozen --no-cache CMD ["uv", "run", "python", "app.py"] * https://blog.devgenius.io/the-last-python-tool-youll-ever-need-uv-a2411cc260b1