停止使用 virtualenv、pyenv、nvm、goenv,使用 Docker 镜像

2025-06-07

停止使用 virtualenv、pyenv、nvm、goenv,使用 Docker 镜像

笔记

  • 需要 Docker 和至少 4 GB RAM(有关详细信息,请参阅下面的评论部分)

  • 不适用于单个应用程序

我为什么使用 Docker 镜像

图像

使用 pyenv 和 nvm 等版本管理器 过时的

例如,virtualenv/pyenv 仅封装了 Python 依赖项。

Docker 容器封装了整个操作系统及其多个依赖项。

Docker 已经允许拉取多个一键镜像,如 python、nodejs、golang 等...



docker pull python:3.9.0


Enter fullscreen mode Exit fullscreen mode


# Dockerfile
FROM python:3.9.0


Enter fullscreen mode Exit fullscreen mode

Docker 镜像和容器

图像

Docker 镜像包含将应用程序作为容器运行所需的元素——例如代码、配置文件、环境变量、库和运行时。

Docker 容器可以被视为该图像的副本或打印输出。

例如,您可以有一个 Python 镜像和多个与该镜像相关的容器。

图像

与操作系统隔离(全新安装)

您的操作系统上可能没有安装 python,您可以拉取 python 3.9 docker 镜像。

所以你只能在docker容器内使用python。



docker pull python:3.9.0


Enter fullscreen mode Exit fullscreen mode

您可能已经在操作系统上安装了 python 2.7,并拉取了 python 3.9 docker 镜像。

它们不会相互冲突,但您只能在 docker 容器内使用 python 3.9。

如果你不再需要 python 3.9,你只需要删除与 python 3.9 镜像相关的 docker 容器和 python 3.9 镜像本身。

多个版本

您可以拉取 python 2.7 docker 镜像和 python 3.9 docker 镜像。

它们不会发生冲突。

多层

您可以拉取 python 2.9 docker 镜像并安装其他依赖项。



# Dockerfile
FROM python:3.9.0

...

COPY requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt

Enter fullscreen mode Exit fullscreen mode




升级 - 切换版本

您可以拉取 python 3.8 docker 镜像,然后切换到 3.9 镜像。



# Dockerfile
FROM python:3.8.0 -> FROM python:3.9.0

Enter fullscreen mode Exit fullscreen mode




例如:python




# Dockerfile
FROM python:3.9.0

Enter fullscreen mode Exit fullscreen mode


# Dockerfile
FROM python:3.9.0-alpine

Enter fullscreen mode Exit fullscreen mode




例如:节点




# Dockerfile
FROM node:14.16.0

Enter fullscreen mode Exit fullscreen mode


# Dockerfile
FROM node:14.16.0-alpine

Enter fullscreen mode Exit fullscreen mode




中心

链接

文章来源:https://dev.to/javidjms/stop-using-virtualenv-pyenv-nvm-goenv-and-use-docker-images-40mn
PREV
20 个最实用的 k8s 工具
NEXT
最适合初学者的免费 Kubernetes 课程