windows系统开发环境使用docker打包Django程序部署至服务器Ubuntu系统中

embedded/2024/11/17 15:47:32/

正常创建开发Django项目即可,推荐使用虚拟环境开发 (virtualenv)

在Ubuntu安装docker
windows系统安装docker 链接
需要启用WSL 2,这个可以在Microsoft store 下载Ubuntu系统
docker默认安装在c盘,会占用很多空间,可以下载下来使用命令行安装
在上述windows下载docker页面下拉即可看到命令行安装选项
自定义安装位置

start /w "" "Docker Desktop Installer.exe" install --backend=wsl-2 --installation-dir=D:\xxx\program\docker --wsl-default-data-root=D:\xxx\program\wsl --accept-license

使用如下命令验证docker安装成功

docker --version

进入Django项目
创建requirements.txt文件,列出来素有python依赖,可以手动列出,也可是使用一下命令生成

pip freeze > requirements.txt

创建Dockerfile文件

# 使用官方 Python 镜像作为基础镜像
FROM python:3.12.4
# 如果后续运行不成功可以先把该镜像pull下来# 设置工作目录
WORKDIR /app# 将项目文件复制到容器中
COPY . /app# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt# 暴露 Django 默认端口
EXPOSE 8000# 设置环境变量避免生成 pyc 文件
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1# 启动 Django 开发服务器
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

使用以下命令构建docker镜像:

docker build -t my_django_project .

构建完成后可以启动服务器验证:

docker run -p 8000:8000 my_django_project

如果能够正常访问继续以下操作

选择1
将镜像推送到docker hub
然后在阿里云服务器Ubuntu系统中下载
选择2
导出为tar文件传输到阿里云Ubuntu

#打包
docker save -o my_django_project.tar my_django_project
#阿里云 加载镜像
sudo docker load -i my_django_project.tar

查看已有镜像:

启动容器并暴露端口:

sudo docker run -p 8000:8000 <your-dockerhub-username>/my_django_project:latest

http://www.ppmy.cn/embedded/138283.html

相关文章

【ORACLE战报】2024年10月OCP考试战报

原创 厦门微思网络 微思 | 新班预告&#xff1a; 所有的收获都是默默耕耘的成果 2024.10月【最新考试成绩出炉】 来吧&#xff0c;展示 &#xff08;以下为部分学员成绩单&#xff09; &#xff08;部分学员证书&#xff09; 往期考试战报回顾&#xff1a; 【ORACLE战报】…

Rust开发一个命令行工具(一,简单版持续更新)

依赖的包 cargo add clap --features derive clap命令行参数解析 项目目录 代码 main.rs mod utils;use clap::Parser; use utils::{editor::open_in_vscode,fs_tools::{file_exists, get_file, is_dir, list_dir, read_file}, }; /// 在文件中搜索模式并显示包含它的行。…

JMeter初体验:从入门到入门的性能测试之旅

一、关于性能测试 1、性能测试概述 性能测试是一种非功能测试&#xff0c;旨在评估系统在不同负载条件下的性能表现。它包括负载测试、压力测试、稳定性测试和基准测试等。性能测试的目的是确保系统在预期的负载下能够正常运行&#xff0c;并满足用户对响应时间、吞吐量和其他…

新版Apache tomcat服务安装 Mac+Window双环境(笔记)

简介&#xff1a;Tomcat服务器器的下载和安装&#xff1a; 安装前提 1&#xff09;电脑需要有java环境&#xff0c;jdk8以上&#xff0c;否则启动不不成功 2&#xff09;已经安装Sublime⽂文件编辑软件 3&#xff09;window电脑需要显示⽂文件拓拓展名 官网&#xff08;https:…

【安卓恶意软件检测-论文】DroidEvoler:自我进化的 Android 恶意软件检测系统

DroidEvolver&#xff1a;自我进化的 Android 恶意软件检测系统 摘要 鉴于Android框架的频繁变化和Android恶意软件的不断演变&#xff0c;随着时间的推移以有效且可扩展的方式检测恶意软件具有挑战性。为了应对这一挑战&#xff0c;我们提出了DroidEvolver&#xff0c;这是一…

【Qt实现虚拟键盘】

Qt实现虚拟键盘 &#x1f31f;项目分析&#x1f31f;实现方式&#x1f31f;开发流程 &#x1f31f;项目分析 需求&#xff1a;为Linux环境下提供可便捷使用的虚拟键盘OS环境&#xff1a;Windows 7/11、CentOS 7开发语言&#xff1a;Qt/C IDE&#xff1a;QtCreator 、Qt5.14.2功…

HarmonyOS4+NEXT星河版入门与项目实战--------开发工具与环境准备

文章目录 1、熟悉鸿蒙官网1、打开官网2、下载 DevEco Studio3、HarmonyOS 资源库4、开发指南与API 2、安装 DevEco Studio1、软件安装2、配置开发工具 1、熟悉鸿蒙官网 1、打开官网 百度搜索 鸿蒙开发者官网 点击进入开发者官网&#xff0c;点击开发&#xff0c;可以看到各种…

Postman接口测试(断言、关联、参数化、输出测试报告)

基本界面展示 Get、Post请求 Postman断言 使用postman来判断预期结果与实际结果是否一致 响应状态码断言 响应包含字符串 断言判断字符串的格式 关联 用于解决http请求之间存在依赖关系 依赖&#xff1a;一个http请求的响应结果中的数据&#xff0c;被另一个请求使用 登…