完璧なPython Dockerfileを作る(後半)

gavin.zhou
4 min readNov 18, 2021

Python のDockerfileについての記事です。長い記事なので前半と後半に分けて投稿いたします。今回は後半です。

完璧なPython Dockerfile

早速ですが、最終的なファイルを見てみましょう。

# using ubuntu LTS versionFROM ubuntu:20.04 AS builder-image# avoid stuck build due to user promptARG DEBIAN_FRONTEND=noninteractiveRUN apt-get update && apt-get install --no-install-recommends -y python3.9 python3.9-dev python3.9-venv python3-pip python3-wheel build-essential && \apt-get clean && rm -rf /var/lib/apt/lists/*# create and activate virtual environment# using final folder name to avoid path issues with packagesRUN python3.9 -m venv /home/myuser/venvENV PATH="/home/myuser/venv/bin:$PATH"# install requirementsCOPY requirements.txt .RUN pip3 install --no-cache-dir wheelRUN pip3 install --no-cache-dir -r requirements.txtFROM ubuntu:20.04 AS runner-imageRUN apt-get update && apt-get install --no-install-recommends -y python3.9 python3-venv && \apt-get clean && rm -rf /var/lib/apt/lists/*RUN useradd --create-home myuserCOPY --from=builder-image /home/myuser/venv /home/myuser/venv

--

--