一、准备阿里云服务器

  1. 首先在阿里云服务器免费试用网站中选择相应的服务器,本次搭建选择的服务器是适合入门级开发者的服务器。
  2. 在阿里云控制台上创建一个云服务器( ECS 实例)并获取访问凭证,包括主机 IP 地址、用户名和密码。
  3. 在服务器上安装 Docker ,具体步骤参考阿里云官方文档,来自阿里云服务器免费试用网站的试用教程。

二、在本地开发环境准备 Docker 镜像

1、在本地开发文件夹下创建一个 Dockerfile ,用于定义构建 Docker 镜像的配置。

  • 在 Dockerfile 中指定基础镜像,本项目指定的是 NiceGUI 的官方镜像。
  • 使用 WORKDIR 指令可以来指定工作目录(或者称为当前目录)。
  • 将项目文件复制到镜像中,通过ADD命令将项目代码复制到镜像的指定路径。
  • 安装项目所需的依赖包,可以使用pip install命令在镜像中安装所需的 Python 包。
  • EXPOSE指令定义了提供服务的初始传入端口。这些端口可供容器内的进程使用。
  • 指定容器启动时要执行的命令,使用CMD命令指定要运行的 Python 脚本或启动命令。
# 基础镜像
FROM zauberzeug/nicegui
# 设置工作目录为/proj
WORKDIR /proj
# 复制依赖文件
ADD . .
# 安装requirments.txt中列举的包
RUN pip install -r requirements.txt
# 向容器外暴露一个端口
EXPOSE 80
# 在容器启动时运行main.py
CMD ["python", "main.py"]

本地开发文件夹目录如图所示:
请添加图片描述

2、 在本地构建 Docker 镜像。
(1)打开终端,进入包含 Dockerfile 的项目目录。使用docker build --platform linux/amd64 -t <your_image_name>:<tag> .构建 Docker 镜像。其中,your_image_name是你给镜像起的名称,tag是版本标签。注意命令最后的.表示使用当前目录作为上下文构建镜像。

请添加图片描述
(2)将本地镜像上传到 Docker 仓库。

  • 执行docker login --username=<镜像仓库登录名> registry.cn-<个人版实例所在的地域>.aliyuncs.com,登录到阿里云的 Docker 仓库。
  • 执行docker tag <image id> registry.cn-<个人版实例所在的地域>.aliyuncs.com/<your_repository>/<your_image_name>:<tag>,将本地构建的镜像标记
  • 执行docker push registry.cn-<个人版实例所在的地域>.aliyuncs.com/<your_repository>/<your_image_name>:<tag>,将本地构建的镜像上传到仓库

其中your_repository是您在阿里云上创建的 Docker 仓库的名称。

请添加图片描述

三、在阿里云服务器上部署 Docker

docker login --username=<镜像仓库登录名> registry.cn-<个人版实例所在的地域>.aliyuncs.com
从 Docker 仓库中拉取您上传的镜像
docker pull registry.cn-<个人版实例所在的地域>.aliyuncs.com/<your_repository>/<your_image_name>:<tag>
在阿里云服务器上运行容器
docker run --name <container name> -p 81:80 -p 8081:8080 -d registry.cn-<个人版实例所在的地域>.aliyuncs.com/<your_repository>/<your_image_name>:<tag>-p参数指定容器的端口映射,将容器的80端口映射到主机的81端口。

访问部署的 Python 项目,在浏览器中访问阿里云服务器的公网 IP 地址或域名,即可访问部署的 Python 项目。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐