首页 > 其他分享 >django 项目构建镜像

django 项目构建镜像

时间:2024-10-29 13:58:38浏览次数:4  
标签:root image django 构建 mysql 镜像 docker 8000

步骤 1:创建项目文件

首先,确保在项目目录下有以下三个文件:

  • Dockerfile
  • docker-compose.yml
  • requirements.txt
# Use the official Python image from the Docker Hub
FROM python:3.9

# Set the working directory in the container
WORKDIR /app

# Copy the requirements.txt file into the container
COPY requirements.txt .

# Install the dependencies
RUN pip install --no-cache-dir -r requirements.txt

# Copy the entire Django project into the container
COPY . .

# Expose the port the app runs on
EXPOSE 8000

# Command to run the application
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

version: '3.8'

services:
  db:
    image: mysql:latest
    volumes:
      - mysql_data:/var/lib/mysql
    environment:
      MYSQL_DATABASE: db1
      MYSQL_USER: root
      MYSQL_PASSWORD: root
      MYSQL_ROOT_PASSWORD: root
    ports:
      - "3306:3306"

  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/app
    ports:
      - "8000:8000"
    depends_on:
      - db
    environment:
      - DATABASE_URL=mysql://root:root@db/db1

volumes:
  mysql_data:

Django>=3.0,<4.0
mysqlclient

步骤 2:安装docker desktop

配置镜像源
setting -> Docker Engine

"registry-mirrors": [
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]

步骤 3:构建和运行 Docker 容器

打开 PowerShell 或 CMD,导航到项目的根目录,确保 Dockerfile 和 docker-compose.yml 都在此目录下。
执行以下命令来构建和启动容器:

docker-compose up --build

注意:如果你的项目依赖数据库服务(例如 MySQL),仍需在新电脑上配置 docker-compose.yml 或者手动启动数据库容器,以确保与项目镜像的兼容性。

#拉取并运行镜像(无需项目文件的情况操作步骤) 或者复制项目,新增最开始提到的那三个文件,用build的方式启动
docker save -o myproject_image.tar your_image_name:tag #导出并传输镜像
docker load -i myproject_image.tar #在新电脑上导入镜像
docker run -d -p 8000:8000 your_image_name:tag #启动容器

标签:root,image,django,构建,mysql,镜像,docker,8000
From: https://www.cnblogs.com/win1998/p/18512944

相关文章

  • 基于alpine制作jdk8基础镜像/解决时区问题
    在一次使用镜像部署项目中,发现推送的消息时间不是预设的,检查后发现是基础镜像时区不对导致。下面是自己制作基础镜像的简单记录,可参考制作更好的基础镜像,以支持快速部署。 1、拉取alpinedockerpull openjdk:8-jdk-alpine2、创建Dockerfile文件FROMopenjdk:8-jdk-alpine......
  • 利用GaussDB的可观测性能力构建故障模型
    ​D-SMART高斯专版已经开发了几个月了,目前主要技术问题都已经解决,也能够初步看到大概的面貌了。有朋友问我,GaussDB不已经有了TPOPS了,为什么你们还要开发D-SMART高斯专版呢?实际上TPOPS和D-SMART虽然都可以用于Gaussdb的运维监控,不过其分工还是十分明显的。TPOPS是华为GaussDB自带......
  • 麒麟系统修改镜像地址,并安装数据库mariadb
    1.跳转到镜像源文件夹cd/etc/yum.repos.d2.备份系统镜像源文件ps:要养成修改系统文件之前做文件备份的好习惯cpkylin_aarch64.repokylin_aarch64.repo.bak3.修改的镜像源vikylin_aarch64.repo[ks10-adv-cdrom]name=KylinLinuxAdvancedServer10-cdrombaseurl......
  • 基于django+vue+Vue临沂市第一中学疫情防控系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着全球新冠疫情的持续影响,学校作为人员密集场所之一,面临着严峻的疫情防控挑战。特别是在大型教育机构如临沂市第一中学这样的学校中,如何......
  • 基于django+vue+Vue礼服租赁管理系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容毕业设计题目:礼服租赁管理系统选题背景随着现代人对生活品质追求的提高以及对个性化需求的关注日益增强,礼服租赁行业逐渐成为时尚消费领域的新宠......
  • 基于django+vue+Vue垃圾分类管理系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着城市化进程的加快,垃圾处理成为城市管理的重要组成部分。垃圾分类作为实现可持续发展的一项重要举措,近年来受到国内外广泛关注。关于垃......
  • MacOS上Homebrew 安装、配置、更改国内镜像源及使用教程
    Homebrew笔记1.介绍官网:https://brew.sh/对于习惯了使用命令来完成一切的程序员来说,安装软件这种小事,自然是能够用命令解决,就不用图形界面选择。但是在Linux中,我们有yum、apt、dnf、pkg等命令来完成软件的安装,macOS却并未为我们提供一个好用的包管理器,帮助我们更......
  • 基于django+vue+Vue救援物资管理系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景救援物资管理在自然灾害、突发事件等紧急情况下扮演着至关重要的角色。现有研究主要集中在物资分配策略、库存管理以及物流优化等方面,但专......
  • 基于django+vue+Vue酒店经营管理系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着旅游业的蓬勃发展,酒店行业作为旅游业的重要组成部分,其管理效率和服务质量直接关系到客户体验和行业竞争力。关于酒店经营管理系统的研......
  • 基于django+vue+Vue酒店会员管理的设计与实现【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着酒店行业的竞争日益激烈,会员管理成为提升客户忠诚度和酒店利润的重要手段。关于酒店会员管理的研究,现有文献主要集中在客户关系管理、......